2015-06-10 2 views
1

Я не могу понять, почему у меня есть переопределение, пытающееся запустить этот пример. Может ли кто-нибудь сказать мне?Redefinition using Constructor

using namespace std; 

class Base { 
     protected: int *value; 
     public: Base() { 
      value = new int, 
      *value = 1; 
     }; 
     Base(int &n) { 
      value = new int[n]; 
     } 
}; 

int main() { 
     int x=2; 
     Base zm; 
     Base(x); 
     system("Pause"); 
} 
+0

Должен быть помечен как 'C++', но есть ожидающие редактирования, которые я одобрил, не заметив, что это отсутствует. – o11c

+1

Какая ошибка вы получаете? –

+0

У меня были ошибки - переопределения, различные основные типы, но Петр Дайлидо помог. –

ответ

0

Witaj Przemeku Na StackOverflow!

Как об этом ?:

class Base { 
     protected: int *value; 
     public: 
     Base() { 
      value = new int, 
      *value = 1; 
     }; 
     Base(int &n) { 
      value = new int[n]; 
     }; 
}; 

int main() 
{ 
     int x; 
     x = 2; 
     Base base; 
     base = Base(x); <--- fix 
     return 1; 
} 

Proszę bardziej formatować KOD! ;)

+0

Спасибо, Петр :) –