extern模板是c ++ 11扩展意味着什么?

fut*_*te7 0 c++ xcode warnings clang c++11

当使用XCode 4.2编译crypto ++时,我收到多个警告,"extern模板的所有实例都是c ++ 11扩展".这意味着什么,这会影响输出可执行文件的兼容性?

Dev*_*lar 5

声明模板"外部"指的是编译器应该不会实例化一个给定的模板,这个翻译单元,因为它会在另一个编译单元已经被实例化.这样做是为了减少编译时间.

此功能已随C++ 11一起添加,因此编译器实际上并未指示在C++ 11模式下运行但是知道该问题可能会产生类似您所看到的警告.

参考.维基百科.

  • 等等,所以"extern模板是c ++ 11扩展"意味着extern模板是c ++ 11扩展??? (8认同)