当模板类实例作为另一类的静态成员变量时,怎么初始化
template<intSIZE>classPrime{...int&operator[](inti);};classFraction{staticPrime<1000>...
template<int SIZE>
class Prime
{
...
int &operator[] (int i) ;
} ;
class Fraction
{
static Prime<1000> p ;
} ;
Prime<1000> Fraction::p ;
然后再F的成员函数中调用p[0]时
编译器报错 ,无法解析的外部命令
错误 2 error LNK2019: 无法解析的外部符号 "public: __thiscall Prime<1000>::operator int(void)" (??B?$Prime@$0DOI@@@QAEHXZ),该符号在函数 "private: void __thiscall Fraction::update(void)" (?update@Fraction@@AAEXXZ) 中被引用 D:\资料库\Programs\c++\library\library\Fraction.obj library
这里是operator int ();的错误 展开
class Prime
{
...
int &operator[] (int i) ;
} ;
class Fraction
{
static Prime<1000> p ;
} ;
Prime<1000> Fraction::p ;
然后再F的成员函数中调用p[0]时
编译器报错 ,无法解析的外部命令
错误 2 error LNK2019: 无法解析的外部符号 "public: __thiscall Prime<1000>::operator int(void)" (??B?$Prime@$0DOI@@@QAEHXZ),该符号在函数 "private: void __thiscall Fraction::update(void)" (?update@Fraction@@AAEXXZ) 中被引用 D:\资料库\Programs\c++\library\library\Fraction.obj library
这里是operator int ();的错误 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询