[问题] 不能无法用malloc初始化物件

楼主: ericerix (Ponwar)   2020-05-27 16:02:43
开发平台(Platform): (Ex: Win10, Linux, ...)
Windows 10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
Visual Studio 2017
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
stdio.h
问题(Question):
无法初始化
喂入的资料(Input):

预期的正确结果(Expected Output):

错误结果(Wrong Output):
类型(void *)无法用来初始化类型"int"的实体
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
int *x = malloc(sizeof(int));
补充说明(Supplement):
程式码的部分,是某个课本刻下来部分程式码
这课本原本是用C,但visual studio似乎没有C的编译器
所以用C++,
结果就出现了这个错误
上网找也找不到解决办法QQ
作者: jigfopsda (jigfopsda)   2020-05-27 16:09:00
try int *x = (int*)malloc(sizeof(int)) ?
作者: firejox (Tangent)   2020-05-27 18:31:00
c++就不要用malloc啊
作者: cuteSquirrel (松鼠)   2020-05-27 19:22:00
int *x = new int();
作者: loveme00835 (发箍)   2020-05-27 21:14:00
副档名改 .c 不行吗? C++ 这样写很恐怖
作者: ddavid (谎言接线生)   2020-05-27 21:54:00
也没啥恐怖的啦,不然C都恐怖多少年了XD
作者: Lipraxde (Lipraxde)   2020-05-27 22:18:00
这错误讯息手打的?
作者: nh60211as   2020-05-27 22:20:00
VC++有中文错误
作者: Lipraxde (Lipraxde)   2020-05-27 22:37:00
真可怕XD
作者: loveme00835 (发箍)   2020-05-27 22:45:00
偶笑惹 看来是把 C++ 当成 C 写的大大呢严格来说只有转型没有呼叫建构子的东西是不能用的因为他连“物件”都不算
作者: kingofsdtw (不能閒下來!!)   2020-06-05 08:40:00
C and cpp ...嗯
作者: tinlans ( )   2020-06-11 05:19:00
副档名放 .c 就会是 C 模式,openssl 和 curl 这些知名函式库都还是能用 MSVC 在 C 模式下编译的。万一全部都用 C++ 模式编译会有很多东西编不过。

Links booklink

Contact Us: admin [ a t ] ucptt.com