skf*_*eng 2 c++ string iteration vector
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> a;
a.push_back("1 1 2 4");
a.push_back("2 3 3 3");
a.push_back("2 2 3 5");
a.push_back("3 3 3 3");
a.push_back("1 2 3 4");
for (int i=0;i<a.size();i++)
for(int j=0;j<a[i].length();j++)
cout<<a[i].at[j];
return 0;
}
Run Code Online (Sandbox Code Playgroud)
嗨,当我运行上面的代码时,会出现如下错误:
error C2109: subscript requires array or pointer type
Run Code Online (Sandbox Code Playgroud)
请帮帮我,告诉我为什么,谢谢!
at是一个函数,需要调用而()不是[]
更新
cout<<a[i].at[j];
// ^^^
Run Code Online (Sandbox Code Playgroud)
至
a[i].at(j)
// ^^^^^
Run Code Online (Sandbox Code Playgroud)
要输出string,你不需要cout每个char,只需要
for (int i=0; i<a.size(); i++)
{
std::cout << a[i] << "\n";
}
std::cout << std::endl;
Run Code Online (Sandbox Code Playgroud)
或者如果是C++ 11:
for(auto const & s : a)
{
cout << s << "\n";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |