我们正在从VS2005迁移到VS2015,同样的代码在VS 2005中编译得很好,但在VS 2015中引发错误 "' F':非类型模板参数的非法类型' F'"
#define DLLEXPORT __declspec (dllexport)
template <class DLLEXPORT F> class DLLEXPORT QWCalloutManager {
};
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
对此有何帮助?
答案 0 :(得分:0)
您需要重写为:
self.imageView2.transform = self.imageView1.transform;
没有办法说#define DLLEXPORT __declspec (dllexport)
template <class F> class DLLEXPORT QWCalloutManager {
};
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
必须是导出的类(除非您可以为它编写静态断言)。您只需在代码审查中进行检查即可。
答案 1 :(得分:0)
也许VS 2005并没有抱怨,但F
并不是有效的MSVC ++语法。
尝试从模板参数中删除template <class __declspec (dllexport) F> class ...
。
DLLEXPORT