我的印象是Visual C++ 10 内置了static_assert
. 但是,当我编译以下
void test()
{
static_assert( sizeof( char ) == 1, "" );
}
我明白了
错误 C3861:“static_assert”:找不到标识符
我在做什么错以及如何static_assert
在 Visual C++ 10 中使用?
我的印象是Visual C++ 10 内置了static_assert
. 但是,当我编译以下
void test()
{
static_assert( sizeof( char ) == 1, "" );
}
我明白了
错误 C3861:“static_assert”:找不到标识符
我在做什么错以及如何static_assert
在 Visual C++ 10 中使用?
我的印象是 Visual C++ 10 有内置的 static_assert。
确实如此,这对我来说编译得非常好:
int main(){
static_assert( sizeof( char ) == 1, "" );
}
您的代码中还有其他错误吗?也许这个错误是其他错误链的结果。
原因是 Visual Studio 被设置为使用 Visual C++ 9 编译器(Visual Studio 2008 附带的编译器)。我不知道它是怎么发生的,也许是配置 Visual Studio 的向导导入了以前版本的路径。
项目属性中的设置已更改 - 在“VC++ 目录”窗格中。检查调用哪个编译器的简单方法是-Bv
在编译器命令行中添加选项,这将使编译器报告其版本。