|
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 14
|
||||||
Ошибка при работе с классами26.12.2017, 21:14. Показов 1237. Ответов 5
Вот такой код:
probacpp.cpp:6:13: error: 'B' has not been declared void ex(B b) { ^ probacpp.cpp: In constructor 'B::B(A)': probacpp.cpp:14:19: error: no matching function for call to 'A::ex(B&)' a.ex(*this); ^ probacpp.cpp:6:10: note: candidate: void A::ex(int) void ex(B b) { ^~ probacpp.cpp:6:10: note: no known conversion for argument 1 from 'B' to 'int' В чем моя ошибка? (и объясните, если можно, значение этих заметок компилятора, но это не так важно)
0
|
||||||
| 26.12.2017, 21:14 | |
|
Ответы с готовыми решениями:
5
Ошибка "в вызове функции отсутствует список аргументов" при работе с классами Ошибка в работе с классами |
|
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,814
|
|
| 26.12.2017, 21:30 | |
|
А ты не пробовал воспользоваться Google Translate? Компилятор говорит тебе, что в 6-ой строке твоей программы он ничего не знает о типе B. И действительно, откуда ему знать, если B определяется дальше первого использования?
0
|
|
|
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 14
|
||
| 28.12.2017, 02:03 [ТС] | ||
|
B(A a) { В чем же проблема? Еще попробовал сделать это не через конструктор, а через обычную функцию класса, но все равно вылезала ошибка, что класс A не определен
0
|
||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||||||
| 28.12.2017, 02:12 | ||||||
Сообщение было отмечено tstein как решение
Решение
Вот так
Предварительная декларация класса + вынесение реализации функции позже определения всех классов. В случае разбиения на заголовочные и реализации, в файле реализации надо указывать оба заголовочных.
2
|
||||||
|
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 14
|
||
| 28.12.2017, 13:39 [ТС] | ||
|
0
|
||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|||||||||||
| 28.12.2017, 14:24 | |||||||||||
|
tstein, потому что для того, чтобы скомпилировать функцию, работающую с классом, нужно знать информацию о всём-всём содержимом класса. Иначе просто нельзя будет определить, в каком месте класса какая его переменная находится и сколько собственно места занимает класс, чтобы передать его функции.
Скомпилировать можно функцию с указателем на неопределённый класс, но исключительно в том случае, если функция с этим указателем ничего не делает. То есть
1
|
|||||||||||
| 28.12.2017, 14:24 | |
|
Помогаю со студенческими работами здесь
6
Управление динамической памятью при работе с классами Необъявленный идентификатор при работе с классами (функция сравнивает значение свойств объектов) Ошибка в программе при работе с классами Ошибки при работе с классами Ошибки при работе с классами на linux Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|