一个很怪异的问题,关于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指针相减得到的元素数目。