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

时间:2012-06-04 10:43:51

标签: c++ xcode c++11 warnings clang

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

1 个答案:

答案 0 :(得分:5)

声明模板“extern”意味着编译器实例化转换单元中的给定模板,因为它将在另一个转换单元中实例化。这样做是为了减少编译时间。

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

参考。 Wikipedia