2016-09-30 58 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++语言本身存在问题尚不清楚。 –