初学C++,碰到一个小问题

C、C++和Java语言
回复
头像
zkwlx
帖子: 989
注册时间: 2009-10-09 12:54
系统: debian
来自: 北京某胡同
送出感谢: 3 次
接收感谢: 2 次

初学C++,碰到一个小问题

#1

帖子 zkwlx » 2013-05-06 22:56

代码: 全选

#include xxxxx
#include "Student_info.h"
int main() {

	vector<Student_info> students;
	Student_info record;

	while (read(cin, record)) {
		maxlen = max(maxlen, record.name.size());
		students.push_back(record);
	}
}
students.push_back(record);这里老是提示出错:Invalid arguments 'Candidates are:void push_back(const Student_info &)'。

代码: 全选

struct Student_info {
	std::string name;
	double midterm, final;
	std::vector<double> homework;
};
实在找不到问题所在了。。。。求助 :em20
afox800
帖子: 200
注册时间: 2009-08-02 7:44
来自: 圣彼得堡
送出感谢: 5 次
接收感谢: 3 次

Re: 初学C++,碰到一个小问题

#3

帖子 afox800 » 2013-05-07 15:06

zkwlx 写了:

代码: 全选

#include xxxxx
#include "Student_info.h"
int main() {

	vector<Student_info> students;
	Student_info record;

	while (read(cin, record)) {
		maxlen = max(maxlen, record.name.size());
		students.push_back(record);
	}
}
students.push_back(record);这里老是提示出错:Invalid arguments 'Candidates are:void push_back(const Student_info &)'。

代码: 全选

struct Student_info {
	std::string name;
	double midterm, final;
	std::vector<double> homework;
};
实在找不到问题所在了。。。。求助 :em20
Student_info 没有 push_back()这个函数嘛 :em20
zhanglinfeng
帖子: 39
注册时间: 2012-08-20 16:11
送出感谢: 0
接收感谢: 0

Re: 初学C++,碰到一个小问题

#4

帖子 zhanglinfeng » 2013-05-07 16:30

以下是我的个人意见:
第一 应包含头文件vector
第二 你没重载输入>>操作符,students从标准输入中获取不了。
第三 最好是在main函数的最后return;
试试行不行,我也学的不是很好。
zhanglinfeng
帖子: 39
注册时间: 2012-08-20 16:11
送出感谢: 0
接收感谢: 0

Re: 初学C++,碰到一个小问题

#5

帖子 zhanglinfeng » 2013-05-07 16:57

你写的代码错误还是有点多的,建议看下c++ primer。
头像
zkwlx
帖子: 989
注册时间: 2009-10-09 12:54
系统: debian
来自: 北京某胡同
送出感谢: 3 次
接收感谢: 2 次

Re: 初学C++,碰到一个小问题

#6

帖子 zkwlx » 2013-05-07 20:53

afox800 写了:
zkwlx 写了:

代码: 全选

#include xxxxx
#include "Student_info.h"
int main() {

	vector<Student_info> students;
	Student_info record;

	while (read(cin, record)) {
		maxlen = max(maxlen, record.name.size());
		students.push_back(record);
	}
}
students.push_back(record);这里老是提示出错:Invalid arguments 'Candidates are:void push_back(const Student_info &)'。

代码: 全选

struct Student_info {
	std::string name;
	double midterm, final;
	std::vector<double> homework;
};
实在找不到问题所在了。。。。求助 :em20
Student_info 没有 push_back()这个函数嘛 :em20
帅哥,Student_info只是个struct,push_back()是vector的方法啊!!!
头像
zkwlx
帖子: 989
注册时间: 2009-10-09 12:54
系统: debian
来自: 北京某胡同
送出感谢: 3 次
接收感谢: 2 次

Re: 初学C++,碰到一个小问题

#7

帖子 zkwlx » 2013-05-07 20:55

zhanglinfeng 写了:你写的代码错误还是有点多的,建议看下c++ primer。
你说的这些是不会引起那个错误提示的。。。。
我用的eclipse cdt,可能是这个插件抽风了。。。。
头像
zkwlx
帖子: 989
注册时间: 2009-10-09 12:54
系统: debian
来自: 北京某胡同
送出感谢: 3 次
接收感谢: 2 次

Re: 初学C++,碰到一个小问题

#8

帖子 zkwlx » 2013-05-07 22:09

还真是eclipse的问题,重启下就好了,蛋疼。。
回复

回到 “C/C++/Java”