这个C ++代码不起作用。有人可以帮帮我吗?

时间:2013-12-30 14:02:32

标签: c++ syntax-error

目的:获得输出“(212)767-8900”

#include <iostream.h>
#include <conio.h>
using namespace std;
struct Phone
{
   int area;
   int exc;
   int num;
};
void echoer(Phone);

int main()
{
Phone no1, no2;
 no1.area = 212, no1.exc = 767, no1.num = 8900;

void echoer(Phone no)
{
    cout << '(' << no.area << ') ' << no.exc << '-' << no.num;
}
echoer(no1);

getch();
}

2 个答案:

答案 0 :(得分:6)

你根本无法在另一个函数中定义一个函数。您正试图在echoer内定义main。相反,它应该出去。

您还应该知道'用于字符文字,"用于字符串文字。由于') '中包含多个字符,因此需要使用字符串文字。

答案 1 :(得分:0)

为什么不删除void echoer(Phone);而只是创建一个Phone对象?

struct Phone{
   int area;
   int exc;
   int num;
}Phone;

致电:

cout<<"( "<<Phone.area<<" ) "<<Phone.exc<<" - "<<Phone.num;

也可以是:

}Phone1,Phone2,PhoneN;

在struct上。好吧,我以前在5年前这样做过。