这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » vxworks C++碰到的问题

共2条 1/1 1 跳转至

vxworks C++碰到的问题

菜鸟
2008-05-28 09:46:05     打赏

请各位帮看看,出现什么问题。

实现目标:通过类A中定义的静态变量b,来初始化类对象。

程序1运行结果正确;然而,当采用模板方式是,download时提示error,“__t1A1Zf$b”。

请问为什么会出现这样的错误,怎样解决? 谢谢!

程序1:

struct Base_RMatrix {
  float _data[3][3]; 
};

class A:public Base_RMatrix
{
public:
 A() : Base_RMatrix(b) {} 
 void print();    
 static const Base_RMatrix b;   
};  

void A::print()
{
  cout<<_data[0][0]<<endl;
}

const Base_RMatrix A::b=
{{
 {1., 0., 0.},
 {0., 1., 0.},
 {0., 0., 1.}
}};    

 
void test()   
{  
 A a1;  
 a1.print();  


程序2:
template<class T>
struct Base_RMatrix {
  T _data[3][3]; 
};


template<class T>
class A:public Base_RMatrix<T>
{
 public:
 A() : Base_RMatrix<T>(b) {}
 void print(); 
 static const Base_RMatrix<T> b;      
};  

template<class T>
void A<T>::print()
{
  cout<<_data[0][0]<<endl;
}

template<class T>
const Base_RMatrix<T> A<T>::b=
{{
 {1., 0., 0.},
 {0., 1., 0.},
 {0., 0., 1.}
}};    

void test()   
{  
 A<float> a1; 
 a1.print();
 
}




关键词: vxworks     碰到     问题    

工程师
2008-05-28 17:29:43     打赏
2楼
看不懂

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]