2016-09-30 51 views
-5

當我嘗試用C++編譯器編譯一些代碼指定初始化(C99)。 很明顯,我有錯誤,因爲它。的Visual Studio 2015年在C++中不支持C99

是否有人知道如何啓用C++代碼的支持C99的?

+0

是否嘗試過「extern」C「{...}」 –

+0

將擴展名更改爲.c,它將使用C語法。但是,您沒有發佈任何輸出或錯誤,所以我只是在猜測。 – Goodies

+0

@Goodies:我有這樣的宏: #define String_init(值){.next = NULL,value,.obj = NULL} 我需要編譯代碼完全由C++編譯器導致我有客戶對象與重載操作符。 –

回答

-1

我已經試過如下: 創建一個新的C++ Win32控制檯應用程序,而無需預編譯的頭,改變了源文件擴展名.c來,寫了這樣的代碼:

#include "stdafx.h" 

int a[6] = { [1] = 1 }; 

int main() 
{ 

    printf("a[1]=%d\n", a[1]); 
    getchar(); 
    return 0; 
} 

它工作了我。產量如預期。

UPD: 答案是,您的目的是在Visual Studio中編譯C代碼,而不是如果您嘗試在C++代碼中使用C特性。

+0

這並沒有回答這個問題。 OP想要在C++中使用C語言。就像在相同的源代碼中混合Java和C++或Python和Ruby一樣。 C++和C是不同的語言。 – Olaf

+0

我不確定你的評論是否準確,而且比較好。在C++中支持C代碼。 同時,OP希望在Visual C用C++代碼IDE 2015年根據我的理解,這不,他希望用C++沒有必要的意思。 –

+0

這很有趣,你宣佈我的想法和我不認爲這些語言。 我認爲你的rubby/python比較不適用 - 你太過分了。 關於在C++中允許的「extern」C「」技術,你會怎麼說? 當然,它們是不同的語言,但大多數C代碼(因爲語法相同)都可以在C++中使用。 從問題出發,作者是否對Visual C++或C++語言本身存在問題尚不清楚。 –