Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Классы, унаследованные от QT классов и friend-функции
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
GoogGod
Друзья, неожиданно для меня столкнулся с такой проблеммой:

есть два класса, которые унаследованны от QWidget

в обоих классах объявлена friend-функция
По идее она должна получать доступ к закрытым членам обоих классов (или я что-то не так понимаю?), но при компиляции я вижу что все члены классов для функции неведомы!
.\general.cpp(13) : error C2065: 'lstContacts' : undeclared identifier

.\general.cpp(23) : error C2065: 'tabContacts' : undeclared identifier
Гость
хедер в котором определены lstContacts, tabContacts подключи.
AD
Цитата(GoogGod @ 1.8.2008, 13:32) *
Друзья, неожиданно для меня столкнулся с такой проблеммой:

есть два класса, которые унаследованны от QWidget

в обоих классах объявлена friend-функция
По идее она должна получать доступ к закрытым членам обоих классов (или я что-то не так понимаю?), но при компиляции я вижу что все члены классов для функции неведомы!

Она получает доступ к закрытым членам только этих классов, а не его родителей. Проверь, в каких классах объявлены указанные переменные!
Гость
хедеры подключены в general.h но попробовал и general.cpp подключить - бестолку

переменные объявлены в так:
class TalkWindow:public QWidget{
    Q_OBJECT
private:
...
    QTabWidget* tabContacts;
...
public:
friend void ContactStatusChangedFunction(QString contact, unsigned int newStatus);
...
};

class ContactList:public QWidget{
Q_OBJECT
private:
...
    QListWidget* lstContacts;
...
public:
    friend void ContactStatusChangedFunction(QString contact, unsigned int newStatus);
...
};
Гость
Ой, насчет хедеров не понял сразу))
Там все в порядке есть general.h там все классы объявлены и general.cpp там весь код
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2019 IPS, Inc.