我正在尝试将 C++ 项目移植到 iOS。它在 Linux 和 Windows 以及 MSVC 上的 QtCreator 中编译得很好。现在在 Xcode/GCC 上,使用某个模板类我得到以下错误:“错误:模板参数列表太少”。
导致此错误的代码如下所示:
template <typename TA, typename TB, int Type>
class MyClassImpl
{
public:
MyClassImpl();
virtual int GetType() const
{
return type;
}
};
typedef MyClassImpl<float, int, 12> MyFloatIntClass;
MyFloatIntClass::MyFloatIntClass()
{
...
}
int MyFloatIntClass::GetType() const
{
return 22;
}
我猜想关于 typedef 语法的某些东西是非法的,而 GCC 对标准的要求更严格。谁能告诉我到底是什么问题以及如何解决?