|
我的是VS08
new project -> General -> Empty Project
我建立一个main.cpp放到工程里面 以下是代码
- #include <iostream>
- #include <vector>
- //要包含这个头文件
- using namespace std;
- int main(void)
- {
- vector<int> a(10);//定义了10个整数元素的向量,但没有给出初值,因而,其值是不确定滴
- vector<int> b(10,1);//定义了10个证书元素的向量,且给出每个元素的初值为1
- vector<int> c(b); //用另一个现成的向量来创建一个向量
- vector<int> d(b.begin(),b.begin() + 3);//定义了其值依次为b向量中第0到第2个元素的向量
- cout << " 1--- ";
- for (int i=0;i<d.size();i++)
- cout << d << " "; //使用下标形式,a是向量元素操作,和数组一样
- cout << '\n'; cout << " 2--- ";
- for (vector<int>::iterator it = a.begin();it!=a.end();++it)
- cout << *it << " ";//使用遍历器方式,*it是指针间接形式,它的意思是it所指向的元素值
- cout << '\n'; cout << " 3--- ";
- a.assign(b.begin(),b.begin()+3); //b向量的0~2元素构成向量赋给a
- for (vector<int>::iterator it = a.begin();it!=a.end();++it)
- cout << *it << " ";
- cout << '\n'; cout << " 4--- ";
- a.assign(8,2); //使a向量中只含0-7元素,且赋值给2
- for (vector<int>::iterator it = a.begin();it!=a.end();++it)
- cout << *it << " ";
- cout << '\n'; cout << " 5--- ";
- int x = a.back();//将a中最后一个元素值赋给整数变量x
- cout << "x = " << x << endl;
- cout << " 6--- ";
- int y = a.front(); //将a中第一个向量元素赋给整数变量y
- cout << "y = " << y << endl;
- cout << " 7--- ";
- a.clear();
- if (a.empty()) cout << "a is empty!" << endl;
- cout << " 8--- ";
- a.resize(5); //将向量元素个数调至5个,多删少补,其值随机
- for (vector<int>::iterator it = a.begin();it!=a.end();++it)
- cout << *it << " ";
- cout << '\n'; cout << " 9--- ";
- a.resize(6,4); //将向量元素个数调至5个,多删少补,其值均为4
- for (vector<int>::iterator it = a.begin();it!=a.end();++it)
- cout << *it << " ";
- cout << '\n'; cout << "10--- ";
- a.push_back(100);//在向量a最后插入一个元素,其值为100
- for (vector<int>::iterator it = a.begin();it!=a.end();++it)
- cout << *it << " ";
- cout << '\n';cout << "11--- ";
- a.pop_back(); //删除a向量最后一个元素
- for (vector<int>::iterator it = a.begin();it!=a.end();++it)
- cout << *it << " ";
- for (int i=0;i<a.size();i++)
- a = i;
- cout << '\n'; cout << "12--- ";
- a.erase(a.begin()+2);
- for (vector<int>::iterator it = a.begin();it!=a.end();++it)
- cout << *it << " "; //删除第三个位置的元素
- cout << '\n'; cout << "13--- ";
- a.insert(a.begin() + 3, 44); //在第四个位置插入一个元素
- for (vector<int>::iterator it = a.begin();it!=a.end();++it)
- cout << *it << " ";
- cout << '\n'; cout << "13--- ";
- a.erase(a.begin()+2,a.begin()+4);//删除第三个位置到第四个位置
- for (vector<int>::iterator it = a.begin();it!=a.end();++it)
- cout << *it << " ";
- cout << '\n'; cout << "14--- ";
- if (a==b) //向量的比较操作,操作符还有!=,<,<=,>,>=,
- cout << "a equal b";
- else
- cout << "a not equal b";
- cin.get();
- return 0;
- }
复制代码
执行出来的倒是没问题,我的问题是这个
- 1>------ Build started: Project: Vector_text, Configuration: Debug Win32 ------
- 1>Compiling...
- 1>main.cpp
- 1>c:\documents and settings\gx\my documents\visual studio 2008\projects\vector_text\vector_text\main.cpp(13) : warning C4018: '<' : signed/unsigned mismatch
- 1>c:\documents and settings\gx\my documents\visual studio 2008\projects\vector_text\vector_text\main.cpp(52) : warning C4018: '<' : signed/unsigned mismatch
- 1>Linking...
- 1>LINK : C:\Documents and Settings\GX\My Documents\Visual Studio 2008\Projects\Vector_text\Debug\Vector_text.exe not found or not built by the last incremental link; performing full link
- 1>Embedding manifest...
- 1>Build log was saved at "file://c:\Documents and Settings\GX\My Documents\Visual Studio 2008\Projects\Vector_text\Vector_text\Debug\BuildLog.htm"
- 1>Vector_text - 0 error(s), 2 warning(s)
- ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
复制代码
编译过去了,这个报错是怎么回事? 2 Warning是啥意思。怎么让他不报错??问完了。
报错的是这两个
for (int i=0;i<d.size();i++) 13行
for (int i=0;i<a.size();i++) 52行 |
|