2010-05-19 29 views
1

嘿伙计们。看看这一段示例代码。VC++中的错误代码看起来非常好C++?

#include "stdafx.h" 
#include<conio.h> 
#include<string.h> 

class person{ 
private char name[20]; 
private int age; 

public void setValues(char n[],int a) 
{ 
    strcpy(this->name,n); 
    this->age=a; 
} 
public void display() 
{ 
    printf("\nName = %s",name); 
    printf("\nAge = %d",age); 
} 
}; 


int _tmain(int argc, _TCHAR* argv[]) 
{ 
person p; 
p.setValues("ram",20); 
p.display(); 
getch(); 
return 0; 
} 

我收到以下错误:

1> ------构建开始:项目:第一,配置:调试的Win32 ------ 1>第一。 cpp 1> c:\ documents and settings \ dark wraith \ my documents \ visual studio 2010 \ projects \ first \ first \ first.cpp(9):error C2144:语法错误:'char'应该以':'开头。 (c)\ Documents and Settings \ dark wraith \ my documents \ visual studio 2010 \ projects \ first \ first \ first.cpp(10):error C2144:syntax错误:'int'应该在前面加':'

1> c:\ documents and settings \ dark wraith \ my documents \ visual studio 2010 \ projects \ first \ first \ first.cpp(12):error C2144 :语法错误:'void'应该在前面加':'

1> c:\ documents and settings \ dark wraith \ my documents \ visual studio 2010 \ projects \ first \ first \ first.cpp(17):错误C2144:语法错误:'void'应该以':'开头 ==========构建:0成功,1失败,0最新,0跳过====== ====

+3

该代码对我来说看起来很C'ish。 – SurvivalMachine 2010-05-19 07:00:08

+0

我想知道你如何定义“完美的C++代码”? – YeenFei 2010-05-20 08:48:39

回答

11

声明publicprivate的语法是错误的。与其它语言不同,在C++中,它应该是

class person{ 
private: 
char name[20]; 
int age; 
public: 
    void display(); 

....

+0

感谢Naveen和Alex。但我记得写代码,我指定每个字段访问说明符。这只是特定于MSVC++? – Laz 2010-05-19 06:57:49

+0

不,这是标准的C++,你可能已经在C#中完成了它 – Naveen 2010-05-19 06:59:34

+3

@Ram:你写的东西看起来像是C和C#的混合,给我伤害了我的眼睛。也许这在C++/CLI中起作用?我不知道,因为我从来没有用过它。 – sbi 2010-05-19 07:02:26

3

在C++中,private是这样的:

class A 
{ 
private: 
    void f(); 
    void g(); 
}; 

注意冒号。

相关问题