1 / 1 / 4
Регистрация: 01.10.2016
Сообщений: 247
|
||||||
1 | ||||||
Error C2084: функция "void mehanizm:print(void)" уже имеет текст реализации07.06.2017, 19:32. Показов 3911. Ответов 5
Метки нет (Все метки)
Добрый день, я столкнулся с проблемой вывода элемента на экран, выбивает: "error C2084: функция "void mehanizm:rint(void)" уже имеет текст реализации
см. предыдущее определение "print" error C2264: mehanizm:rint: ошибка в определении или объявлении функции; функция не вызвана" Указатели расставлены верно, схожая программа работала, почему тут она отказывается работать? заранее спасибо. Код:
0
|
07.06.2017, 19:32 | |
Ответы с готовыми решениями:
5
Ошибка: error C2143 функция void deleteEnd(void) Дописать методы void pop_back(void); T& back(void); T& front(void); void erase (iterator p) Ошибка: функция уже имеет текст реализации Ошибка: функция уже имеет текст реализации Ошибка: Функция уже имеет текст реализации. |
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
|
07.06.2017, 19:41 | 2 |
Потому что print() у вас не виртуальная, и действительно определяется 2 раза: 1 раз в mehanizm, а 2-й раз в базовом классе detal (или можете считать их наоборот).
Но у вас там куда хуже ошибка: Код
void mehanizm :: print() { mehanizm :: print(); cout << " Специализация миханизма: " << work << " год производства механизма: " << year<<endl; }
1
|
1 / 1 / 4
Регистрация: 01.10.2016
Сообщений: 247
|
||||||
07.06.2017, 19:58 [ТС] | 3 | |||||
а как сделать ее виртуальной,и приопределить?
я делал другой код, он рабочий полностью, и на основе него этот код, но в этом почему то рекурсия возникает
0
|
Фрилансер
3704 / 2076 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
|
|
07.06.2017, 20:14 | 4 |
Вам же русским языком написано: два раза реализована
mehanizm :: print() Первый раз в строке 42, второй раз в строке 77 Добавлено через 3 минуты Это как раз НЕ ошибка, а вполне нормальное перекрытие функций (Function Overriding)
0
|
1 / 1 / 4
Регистрация: 01.10.2016
Сообщений: 247
|
||||||
07.06.2017, 20:46 [ТС] | 5 | |||||
понял, с принтом исправил. Но теперь с правильным выводом выдает ошибку:
"error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall izdelie:rint(void)" (?print@izdelie@@QAEXXZ) в функции _main 1>c:\users\admin\documents\visual studio 2012\Projects\ConsoleApplication83\Debug\ConsoleApplication83.exe : fatal error LNK1120: неразрешенных внешних элементов: 1"
0
|
Вездепух
11647 / 6330 / 1719
Регистрация: 18.10.2014
Сообщений: 15,959
|
|
07.06.2017, 21:01 | 6 |
Сообщение было отмечено BenJost как решение
Решение
1
|
07.06.2017, 21:01 | |
Помогаю со студенческими работами здесь
6
error: invalid operands of types 'void' and 'void' to binary 'operator+ System.Void из C# использоваться не может - для получения объекта типа void используйте typeof (void) Для чего нужна функция void interrupt(void) и как её использовать? Реализовать аналог `void *memmove(void *to, void *from, size_t n)` error LNK2001: unresolved external symbol "public: void __thiscall CFingerAnalyserDlg::OnBnClickedShow(void)" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |