Ошибка в VC ++ для кода, который выглядит отлично C ++? - PullRequest
1 голос
/ 19 мая 2010

Привет, ребята. Проверьте этот кусок примера кода.

#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> first.cpp 1> c: \ Documents and Settings \ dark With \ My Documents \ Visual Studio 2010 \ projects \ first \ first \ first.cpp (9): ошибка C2144: синтаксическая ошибка: перед символом 'char' должен стоять ':'

1> c: \ Documents and Settings \ dark with \ мои документы \ visual studio 2010 \ projects \ first \ first \ first.cpp (10): ошибка C2144: синтаксическая ошибка: перед 'int' должно стоять ': «

1> c: \ Documents and Settings \ dark with \ мои документы \ visual studio 2010 \ projects \ first \ first \ first.cpp (12): ошибка C2144: синтаксическая ошибка: 'void' должно предшествовать ': «

1> c: \ Documents and Settings \ dark with \ Мои документы \ visual studio 2010 \ projects \ first \ first \ first.cpp (17): ошибка C2144: синтаксическая ошибка: 'void' должно предшествовать ': ' ========== Построение: 0 выполнено, 1 не выполнено, 0 обновлено, 0 пропущено ==========

Ответы [ 2 ]

11 голосов
/ 19 мая 2010

Синтаксис объявления public и private неверен. В отличие от других языков, в C ++ это должно быть

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

....

3 голосов
/ 19 мая 2010

В C ++ private работает так:

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

Обратите внимание на двоеточие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...