| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1168 人关注过本帖
标题:类中无法初始化容器对象?
只看楼主 加入收藏
Alexander
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-5-14
收藏
 问题点数:0 回复次数:8 
类中无法初始化容器对象?

求助: 请看以下代码: #include <iostream> #include <vector> using namespace std; class node { public: node(int x1,int x2):x(x1),y(x2){} int x,y; vector<int> a(2); };

int main() { node a(2,3);

return 0; } 在VC6.0(已安sp6补丁)环境下编译出现以下错误: c:\program files\microsoft visual studio\myprojects\alexander\app4\app4.cpp(9) : error C2059: syntax error : 'constant' Error executing cl.exe. 这是怎么回事?

搜索更多相关主题的帖子: 容器 对象 
2005-05-14 20:03
风中涟漪
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2004-8-9
收藏
得分:0 
vector&lt;int&gt; a;

2005-05-14 22:34
Alexander
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-5-14
收藏
得分:0 
这个我知道,但为什么不能不能声明固定长度的vector?
2005-05-15 12:28
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
因为本来就不是固定,你赋值赋多少个就长度为多少,你确定了有什么用?
2005-05-15 13:13
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
我的意思是,vector本来就是为了方便动态增减长度的向量变量,你硬要确定有什么用?
2005-05-15 13:14
Alexander
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-5-14
收藏
得分:0 
其实最初vector<int>a(2)是放在结构中的,类也差不多。作为一个结构,它的大小应该是固定的,现在却要它不固定,是不是说不过去?
2005-05-17 13:18
Antigloss
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2004-12-30
收藏
得分:0 

1. 请好好复习C++语法。类内只能定义对象,而不能初始化任何对象! 2. 修改后的程序如下(VC编译通过): #include <iostream> #include <vector> using namespace std;

class node { public: node(int x1,int x2):x(x1),y(x2),a(2)/*应该在这里初始化对象a*/{} int x,y; vector<int> a; };

int main() { node a(2,3);

return 0; }

2005-05-18 12:58
Antigloss
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2004-12-30
收藏
得分:0 
3. 对类中成员的初始化要放在构造函数中进行
2005-05-18 13:00
hu_sir
Rank: 1
等 级:新手上路
帖 子:208
专家分:0
注 册:2004-4-29
收藏
得分:0 
类内只能定义对象,而不能初始化任何对象!
2005-05-20 14:23
快速回复:类中无法初始化容器对象?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029937 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved