从其他实现的差异
Microsoft 专用
以下列表显示 Microsoft C++ 和其他编译器之间的一些差异。
该编译器无法实例化定义模板外的模块。 Visual C++ 不支持 export 关键字。
模板不能跟与 __declspec (dllimport) 或 __declspec (dllexport) 一起声明的函数一起使用。。
所有模板参数必须是与模板参数列表精确匹配的明确的类型。 例如:
template< class T > T check( T ); template< class S > void watch( int (*)(S) ); watch( check ); //error
该编译器应在窗体 int check( int ) 实例化 check 模板化功能,但是,不能后接推理。
当解析在类模板或函数模板中使用的名称时,应该将所有名称视为依赖名称。 请参见 Name Resolution for Dependent Types(依赖类型的名称解析)。
在类模板中,可在类定义范围内重新定义模板参数。 请参见 Name Resolution for Locally Declared Names(本地声明名称的名称解析)。