读书人

一个很怪异的有关问题关于vector.si

发布时间: 2012-02-20 21:18:23 作者: rapoo

一个很怪异的问题,关于vector.size()
很简短的代码,VC下编译通过,执行返回0和1,但是G++下编译报错,想知道为啥

#include <iostream>
#include <vector>
using namespace std;
int main(){
vector <int> v;
cout < < v.size() < < endl;
cout < < v.size < < endl;
return 0;
}

[解决办法]
第2个size是不合法的. 标准vector中没有定义size数据成员.
[解决办法]
VC下编译通过,执行返回0和1,但是G++下编译报错,想知道为啥
==========================================================
你用的类库实现都不一样,又不是编译器的问题. windows上面的stl和linux上的stl实现不同的.总归有细小区别的.
[解决办法]
GCC用的SGI STL
SGI STL 的vector根本就没有定义size这个成员。它是通过first和last指针相减得到的元素数目。

读书人网 >C++

热点推荐