作者ericerix (我的帥,在於臉)
看板C_and_CPP
標題[問題] 不能無法用malloc初始化物件
時間Wed May 27 16:02:43 2020
開發平台(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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.190.192 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1590566565.A.B7E.html
1F:推 jigfopsda: try int *x = (int*)malloc(sizeof(int)) ? 05/27 16:09
2F:推 firejox: c++就不要用malloc啊 05/27 18:31
3F:推 cuteSquirrel: int *x = new int(); 05/27 19:22
已解決
用j大的方法強制通關~
※ 編輯: ericerix (49.216.190.192 臺灣), 05/27/2020 19:26:19
4F:→ loveme00835: 副檔名改 .c 不行嗎? C++ 這樣寫很恐怖 05/27 21:14
5F:推 ddavid: 也沒啥恐怖的啦,不然C都恐怖多少年了XD 05/27 21:54
6F:→ Lipraxde: 這錯誤訊息手打的? 05/27 22:18
7F:→ nh60211as: VC++有中文錯誤 05/27 22:20
8F:→ Lipraxde: 真可怕XD 05/27 22:37
9F:→ loveme00835: 偶笑惹 看來是把 C++ 當成 C 寫的大大呢 05/27 22:45
10F:→ loveme00835: 嚴格來說只有轉型沒有呼叫建構子的東西是不能用的 05/27 22:47
11F:→ loveme00835: 因為他連「物件」都不算 05/27 22:47
12F:推 kingofsdtw: C and cpp ...嗯 06/05 08:40
13F:→ tinlans: 副檔名放 .c 就會是 C 模式,openssl 和 curl 這些知名 06/11 05:19
14F:→ tinlans: 函式庫都還是能用 MSVC 在 C 模式下編譯的。 06/11 05:19
15F:→ tinlans: 萬一全部都用 C++ 模式編譯會有很多東西編不過。 06/11 05:21