VS2015的赔率错误 - ' F':非类型模板参数的非法类型' F'

时间:2016-09-01 09:42:08

标签: c++

我们正在从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;
}

对此有何帮助?

2 个答案:

答案 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