Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Функция не может быть переназначена вне класса


Автор: Nerfair 31.5.2012, 19:37
Добрый день, есть код 

Код

#include <iostream>
#include <cstdlib>

using namespace std;

int main() {

    class first {

        int a;

        public:
            void Set(int num);
            void first::Echo() {
                cout << a;
            }

    };

            void first::Set(int num) {
                a = num;
            }

    first Points;

    Points.Set(4);
    Points.Echo();
    

    system("pause");
} 


Выбивает ошибку

Цитата

IntelliSense: member function "first::Set" may not be redeclared outside its class    d:\users\nullified\documents\visual studio 2010\projects\cppempty\cppempty\main.cpp    20    16    CppEmpty


Как так? Пишу по книге, в книге говорится что код проходит.

user posted image

Модератор: не следует использовать кнопку "Код" для цитирования сообщений об ошибках, иначе становится неудобно читать всю тему. Для этого существует тег QUOTE.

Автор: boostcoder 31.5.2012, 20:14
на картинке же правильно показано где должны быть декларации членов, реализации членов, и где должен декларироваться сам класс. будь внимательней.
Код

#include <iostream>
#include <cstdlib>

using namespace std;

class first {
  int a;
  public:
      void Set(int num);
      void Echo();
};
void first::Set(int num) {
    a = num;
}
void first::Echo() {
    cout << a;
}

int main() {
    first Points;
    Points.Set(4);
    Points.Echo();
} 


http://liveworkspace.org/code/59a2c2e418bae64e8bc4d9fb8bff2da5

Автор: Nerfair 31.5.2012, 20:21
Не могу изменять репутацию, спасибо большое, невнимательность злейший враг smile Помогло, работает. smile 

Автор: bsa 31.5.2012, 23:30
Nerfair, а понимание - самый главный помощник. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)