#include <vector>
using namespace std;
typedef struct
{
string str;
int inode;
}StrId;
int main()
{
vector<StrId> t;
StrId str1;
str1.str = "This is a Test!";
str1.inode = 1;
t.push_back(str1);
for(vector<StrId>::iterator j=t.begin();j!=t.end();j++)
cout<< (*j).str<< " " << (*j).inode<<endl;
return 0;
}
D:\profile\CStud\CStud.cpp(1172) : error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' (or there is no acceptable conversio
这个程序cout<< (*j).str<< " " << (*j).inode<<endl;的这句话怎么写的
10 个解决方案
#1
cout<< (*j).str.c_str()<< " " << (*j).inode<<endl;
#2
// 或者包含 #include <string>
#3
包含 #include <string> 后面怎么该啊
#4
包含 #include <string> 后面怎么该啊
#5
我在上面,不都给你贴出两种方法了。
#6
就可以直接编译运行了呗!
我用DEVC++的时候,不包含也能运行!
#7
呵呵,多谢啊·!
#8
呵呵,多谢啊·!
#9
按照楼上说的的改,已经可以运行了,但是可以再改进一下。
#include<iostream>
#include<string>
#include <vector>
using namespace std;
typedef struct
{
string str;
int inode;
}StrId;
int main()
{
vector<StrId> t;
StrId str1;
str1.str = "This is a Test!";
str1.inode = 1;
t.push_back(str1);
for(vector<StrId>::iterator j=t.begin();j!=t.end();j++)
cout<< j->str<< " " << j->inode<<endl; //由于迭代器j是一个指针,可以直接使用->运算符来代替(*j).
system("pause");
return 0;
}
#10
学习中
#1
cout<< (*j).str.c_str()<< " " << (*j).inode<<endl;
#2
// 或者包含 #include <string>
#3
包含 #include <string> 后面怎么该啊
#4
包含 #include <string> 后面怎么该啊
#5
我在上面,不都给你贴出两种方法了。
#6
就可以直接编译运行了呗!
我用DEVC++的时候,不包含也能运行!
#7
呵呵,多谢啊·!
#8
呵呵,多谢啊·!
#9
按照楼上说的的改,已经可以运行了,但是可以再改进一下。
#include<iostream>
#include<string>
#include <vector>
using namespace std;
typedef struct
{
string str;
int inode;
}StrId;
int main()
{
vector<StrId> t;
StrId str1;
str1.str = "This is a Test!";
str1.inode = 1;
t.push_back(str1);
for(vector<StrId>::iterator j=t.begin();j!=t.end();j++)
cout<< j->str<< " " << j->inode<<endl; //由于迭代器j是一个指针,可以直接使用->运算符来代替(*j).
system("pause");
return 0;
}
#10
学习中