C++必须包含指向对象的指针类型 vector

林泉926 2014-03-05 07:32:25
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下面出现红线,提示必须包含指向对象的指针类型,请问是什么意思?
}

谢谢解答!
...全文
673 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
成员变量得在构造函数的初始化列表中初始化
 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 ) ) );
林泉926 2014-03-06
  • 打赏
  • 举报
回复
引用 1 楼 akirya 的回复:
成员变量得在构造函数的初始化列表中初始化
 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 ) ) );
谢谢,初始化之后,在使用下标的时候还是会出现“必须包含指向对象的指针类型”这个问题,不知道怎么回事?而我直接在一个文件中这么使用vector是没什么问题的。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧