为什么模板专业化中的显式实例化会给我带来错误
Why explicit instantiation in template specialization is giving me error?
考虑代码:
...
template <typename T>
void Swap(T &,T &);
template <> void Swap<structEmployee>(structEmployee &,structEmployee &);
int main()
{
template void Swap<char>(char &,char &);
short a=10,b=20;
...
Swap(a,b);
...
...
}
它给了我一个错误:
expected primary-expression before ‘template’
template void Swap<char>(char &, char &);
您不能在块范围内实例化模板,它必须在全局范围内:
//Instantiation in global scope
template void Swap<char>(char &,char &);
int main()
//...
相关文章:
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- 错误的cv::face FacemarkLBF实例化
- 无法使用 SWIG 在 Python 中实例化C++类(获取属性错误)
- gcc出现不明确的模板实例化错误
- 尝试实例化模板类的对象时出现"No Matching Constructor"错误
- 无法实例化抽象类错误
- 错误 C2280 / 在 std::vector 中实例化对象时复制构造函数出现问题?
- 模板实例化分析错误
- unique_ptr 使用尚未定义的参数进行实例化不会导致错误
- 与模板实例化相关的编译错误
- 从模板实例化/类型推断中查找错误消息的实际来源
- 类模板实例化错误
- 错误 C2908:显式专用化; 已被实例化
- C++11 列出 push_back() 实例化错误
- 如何修复错误C2259:无法实例化抽象类
- 使用非量表类型实例化模板时修复编译错误
- 由于命名空间而导致的对象实例化错误
- 无法在好友函数中实例化类?我没有得到在范围错误中声明
- 实例化对象时如何修复分段故障错误
- 将 SFINAE 上下文中不正确的模板实例化的硬错误转变为软错误