A.h文件:
class A
{
public:
vector<vector<vector<double> > > VecInterference(2, vector<vector<double> >(10, vector<double>(10))); ////定义了一个三维vector向量,这么定义有什么不对吗?
void setVecInterference();
}
A.cpp文件:
void A::setVecInterference()
{
VecInterference[1][2][3] = 5;////VecInterference下面出现红线,提示必须包含指向对象的指针类型,请问是什么意思?
}
谢谢解答!
------解决方案--------------------
成员变量得在构造函数的初始化列表中初始化
A(): VecInterference( vector<vector<vector<double> > > ( 2, vector<vector<double> >( 10, vector<double>( 10 ) ) ) )
{
}
编译器支持的话也可以这么写
vector<vector<vector<double> > > VecInterference = vector<vector<vector<double> > > ( 2, vector<vector<double> >( 10, vector<double>( 10 ) ) );