相关疑难解决方法(0)

模板编译:gcc vs VS2010

摘自大卫,尼古拉的书 - C++模板:完整指南

因此,模板编译两次:

  1. 在没有实例化的情况下,检查模板代码本身的语法是否正确.发现语法错误,例如缺少分号.
  2. 在实例化时,检查模板代码以确保所有调用都有效.发现无效调用,例如不支持的函数调用.

保持第一点,我写道 -

template<typename T>
void foo( T x)
{
   some illegal text
}

int main()
{
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

它在Visual Studio 2010上构建正常,没有关闭优化的任何警告.但是,它在gcc-4.3.4上失败了.哪一个符合C++标准?即使没有模板实例化,模板代码也必须编译吗?

c++ gcc templates visual-studio-2010 visual-c++

1
推荐指数
1
解决办法
398
查看次数

标签 统计

c++ ×1

gcc ×1

templates ×1

visual-c++ ×1

visual-studio-2010 ×1