C++ error:conflicting declaration

#include <iostream>
#include <string>
using namespace std;
class student
{
string name;
public:
student(string n):name(n)
{
cout<<"registering student "<<n<<endl;
}
};

class subject
{
int score;
string name;
public:
subject(string n,int s):name(n),score(s)
{
cout<<"subject "<<n<<endl
<<"score "<<s<<endl;
}
};

int main()
{
string n;
cin>>n;
int s;

cin>>s;

student(n);
subject(n,s);

return 0;
}
main函数里
subject 那句执行是没有问题的
但是 student 那句执行的时候就报错了
但是我把student(n)换成student("name")之类的又是可以运行的

我也不会,有点太难了;
#include <iostream>
using namespace std;
class beijing;
class shanghai
{
public:
shanghai(int a,int b,int c)
{
benchi=a;
baoma=b;
aodi=c;
total=benchi+baoma+aodi;
}
int get_total()
{
return total;
}
friend int count (beijing b,shanghai s);
private:
int aodi,benchi,baoma,total;

};
class beijing
{
public:
beijing(int a,int b,int c)
{
benchi=a;
baoma=b;
aodi=c;
total=benchi+baoma+aodi;
}
int get_total()
{
return total;
}
friend int count(beijing b,shanghai s);
private:
int aodi,benchi,baoma,total;

};

int count(beijing b,shanghai s)
{
return b.total+s.total;
}
int main()
{
int a,b,c,d,e,f;
cout<<"上海的车奔驰(a)宝马(b)奥迪(c)"<<endl;
cin>>a>>b>>c;
cout<<"北京的车奔驰(d)宝马(e)奥迪(f)"<<endl;
cin>>d>>e>>f;
shanghai s(a,b,c);
beijing b(d,e,f);
cout<<"the total count of shanghai is: "<<s.get_total()<<endl;
cout<<"the total count of beijing is: "<<b.get_total()<<endl;
cout<<"the total count of shanghai and beijing is: "<<count(b,s)<<endl;

}
我这也错了
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-10-01
直接调构造函数是不行滴........
student a(n);
subject b(n,s);
你得实例化对象追问

额(⊙o⊙)…对哦。。。。太感谢了!
那为什么subject那个可以运行的?我好想也没写实例化对象

本回答被提问者采纳

C++ error:conflicting declaration
我也不会,有点太难了;include <iostream> using namespace std;class beijing;class shanghai { public:shanghai(int a,int b,int c){ benchi=a;baoma=b;aodi=c;total=benchi+baoma+aodi;} int get_total(){ return total;} friend int count (beijing b,shanghai s);private:int aodi,...

有关C和C++中错误信息提示
Declaration missing (漏掉了说明)分析与处理:当源文件中包含了一个struct或 union域声明,而后面漏掉了分号,则会出现此类错误。Declaration needs type or storage class(说明必须给出类型或存储类)分析与处理:正确的变量说明必须指出变量类型,否则会出现此类错误。Declaration syntax error (说明出现语法错误)分析与处理:...

C++error expected declaration before ‘}’token 是什么
是记号。编译器第一步要做语法分析,语法分析会将每个词取出来,确认它们什么,比如(不是实际情况)一句代码:a = b + c,词法分析会给一个序列:token value 名称 "a"运算符.赋值 "="名称 "b"运算符 "+"名称 "c"这里就是在编译的第一步词法分析中,分析到这个"}"时发现了一个语法上的错...

...的C++程序 错误是syntax error ‘if’ expected a declaration...
int是整形数字,ch是字符 不能混用!

我的程序为什么出现declaration syntax error错误?
至少你的这段函数没有语法错误,当然你得引入math.h才能用fabs,然后就不知道你别的地方有没有错了,c++ builder总会告诉你哪一行出错的吧

...c++ 3.0 颖思版里写的代码会出现declaration syntax error 的错 ...
主函数的返回值性质写错了,应该是void,并且一般来说,上边两个头文件没必要去包含他们

[C++ Error] Unit1.h(12): E2176 Too many types in declaration...
预处理 的问题 ifndef ...define ...endif 你没有结束 所以提示错误 --- 在#endif截止前,是一直到main 也就是说 ,编译器 一直检测到main函数 如果还没有遇到#endif 说明漏了,则提示错误 但是编译器只检测语法,并不知道你到底在哪儿放的,所以就指向main前 ...

C++中出现的“error:XXX”是什么意思?
报错为“error: ‘B’ does not name a type”,就是因为在A类中使用B *b之前没有声明或定义B类,如果在第一行加上一句前置声明(forward declaration)“class B;”,就不会有这样的问题了。而在头文件互相包含时,也会引发“error: ‘xxx’ does not name a type”,其报错原因和上面的代码...

...Unit1.cpp(40): E2238 Multiple declaration for 'file' 是什么错...
file:在C++里表示标签 在你的程序到处是没有用的file:把它都删光

C++编译问题:error: expected primary-expression before 'data'_百 ...
你这阵仗,1)你应该说明一下编译环境,头文件库什么的,方便大家帮你 2)出错只是显示你的代码编译器不能识别那些TOKEN。猜猜应该是库文件设置的问题 3)你如果是用了a simple C++ library for parsing and manipulating VCF files,之类的库,建议你看看它的install和make的说明。

相似回答