|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.08.2018, 15:34 | #1 |
Новичок
Джуниор
Регистрация: 13.08.2018
Сообщений: 3
|
error C2352 или как правильно вызвать метод из внешнего СРР
Добрый день. Изучаю С++ и в процессе возникла ошибка.
есть некий клас и реализация методов Log.h Код:
Далее гдето в другом CPP надо вызвать saveDataLog но как его вызвать правильно чтоб небыло ошибок? Если так Код:
log.h(14) : see declaration of 'clTestLog::saveDataLog' а если так Код:
Подскажите, как правильно вызвать метод из другого класа? Спасибо. |
13.08.2018, 15:35 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Создать экземпляр (a.k.a. объект) класса.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
13.08.2018, 15:38 | #3 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
1. Использовать extern и вызывать через объект, у вас же не статическая функция.
2. Использовать inline переменную. |
13.08.2018, 15:50 | #4 |
Новичок
Джуниор
Регистрация: 13.08.2018
Сообщений: 3
|
Оьбект создан clTestLog filelog, но в Log.cpp, а работать с ним нужно в другом срр.
Пробовал extern и вызывать через объект так: new.cpp Код:
error C2065: 'filelog' : undeclared identifier error C2228: left of '.saveDataLog' must have class/struct/union Хожу вокруг да около...что то делаю не так, но что? |
13.08.2018, 15:53 | #5 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Это просто поле класса. Надо например сделать его static.
Ну и вызывать тогда через clTestLog::
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
13.08.2018, 15:53 | #6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
filelog и fileLog это два разных идентификатора
|
13.08.2018, 16:23 | #7 |
Новичок
Джуниор
Регистрация: 13.08.2018
Сообщений: 3
|
Нашел ошибку. нужно было в другом срр, его хидере в описании класса обьявить обьект
Код:
описание класса clTestLog* filelog; реазизация метода pfilelog = new clTestLog; ну и потом не забыть его деструктором убить. Как то так |
13.08.2018, 16:33 | #8 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Не нашли. А объявлять переменные в хедерах без инлайна чревато...
|
14.08.2018, 12:01 | #9 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как вызвать input через функцию или if | Айрат Р. | Помощь студентам | 2 | 09.01.2017 11:40 |
С++ Visual как правильно вызвать функцию с указателем? | Blondy | Помощь студентам | 6 | 03.04.2012 16:14 |
Как вызвать перекрытый метод из предка. | shude | Visual C++ | 1 | 10.02.2011 19:22 |
Как вызвать метод из другого класса в C# | KobolD | Помощь студентам | 6 | 25.06.2010 14:12 |
Как правильно присвоить javascript значение и вызвать в php? | Wasanna | Помощь студентам | 0 | 25.02.2010 19:09 |