如何在Visual Studio 2013+中编译包含"interface"作为变量名的程序
How to compile program that contains "interface" as variable name in Visual Studio 2013+
似乎在最后的Visual Studio interface
现在是某种关键字。我真的不知道为什么,我也不能在c++或c++ 11标准中找到这样的关键字,但是使用名称为"interface"的变量会产生以下错误:
error C2332: 'struct' : missing tag name
将变量从interface
重命名为my_interface
之类的东西解决了问题,但是没有一种方法可以编译它而无需修改代码吗?
实际上interface
是不是由标准定义的c++关键字,它是Visual Studio中的扩展(据我所知,它一直追溯到VS2005)。因此,如果其他编译器没有这样的扩展,则无法在它们上编译,在这种情况下,您必须删除它。
这里描述了用c++标准方式声明接口的各种方法
编辑
似乎我误解了你的问题,你反而想使用名为interface
的变量,而没有Visual Studio认为你正在声明一个接口。
在这种情况下,使用/Za标志来禁用编译器扩展。
看起来像是visual studio的c++扩展:
https://msdn.microsoft.com/en-us/library/737cydt1.aspx尝试禁用语言扩展(通过传递a/Za):
https://msdn.microsoft.com/en-us/library/0k0w269d.aspx相关文章:
- 你能重载对象变量名本身返回的内容吗
- 在C/C++中将变量名定义为__00000001有什么好处吗
- C++变量名(可以将 main 声明为变量,但对于其他函数名称则不然)
- C++ - 声明中变量名后面的括号
- 如何使替换 c 函数的变量名成为错误?
- 是否可以创建没有变量名的变量
- fstream库,试图创建一个变量名为(c++)的文件
- 一个数组C++中的消息和变量名
- 在变量名后声明带有 () 的非内部类型与不使用变量名的行为不同。即 std::map<int,char>x(); - 这是怎么回事?
- 数组的变量名和该数组的地址有什么区别?
- 如何将变量名设置为字符串?C++
- 类中具有相同变量名的多重继承
- 如何在从.txt文件中读取时不重复相同的变量名
- 在循环中使用相同的变量名可以吗
- C++保留符号作为C变量名
- 在C++中,在给定的相同作用域内声明相同的变量名
- 为什么类名与"::"一起使用在变量名之前?
- 在同级之间继承相同的变量名
- __COUNTER__变量名中
- 如何在Visual Studio 2013+中编译包含"interface"作为变量名的程序