程序编译问题

[复制链接]
1713|4
 楼主| dfsa 发表于 2012-10-25 23:10 | 显示全部楼层 |阅读模式
int main()
{
  vector
<string>
*pvec3=new vector<string>(10);
  
return
0;

}

既然(*pvec3)[0]是第一个元素,那么(*pvec3)不是也应该指向第一个元素吗,为什么却编译不通过?
pkat 发表于 2012-10-25 23:19 | 显示全部楼层
是头文件的问题吧
txcy 发表于 2012-10-25 23:29 | 显示全部楼层
以上程序编译可通过。

但是仅是定义vector有10个元素是不能输出的。
baidudz 发表于 2012-10-25 23:35 | 显示全部楼层
编译不过应该跟 (*pvec3)的写法无关
wookongbun 发表于 2012-10-26 16:20 | 显示全部楼层
(*pvec3)[0]能正确解析出第一个元素是因为"[]"被重载了,*pvec3只是一个指向保存string对象的vector,并不指向该vector的任何元素。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部