Создаю класс, в нем есть 2 метода и статические свойства для хранения данных.
Задача: имеется 2 класса, один из них изменяет значения статического класса, а второй считывает.
Подключаю его:
#include <userdata.h>
Статические класс:
class UserData {
public:
static QString TOKEN;
static QString UID;
static void setToken ( QString token );
static void setUID ( QString uid );
struct MusicData {
QString title;
QString url;
int id;
};
static int COUNT;
struct Music {
MusicData *n = new MusicData[COUNT];
};
static Music musicList; };
При обращении к его свойству UserData::musicList.n[i].id = i;
пишет ошибку:
error: undefined reference to `UserData::musicList'
Так же при описании методов
static void UserData::setToken ( QString token ) {
TOKEN = token;
}
static void UserData::setUID(QString uid) {
UID = uid;
}
тоже пишет ошибку:
error: cannot declare member function
'static void
UserData::setToken(QString)' to have
static linkage [-fpermissive]
static void UserData::setToken ( QString token ) {
P.S. Не бейте. ) ^
Сделайте класс синглтоном, решите сразу все проблемы=)
нашел проблему) в UserData.cpp добавьте
UserData::Music UserData::musicList;
int UserData::COUNT;
Статические члены класса надо описывать еще и в .cpp файле.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Данная математическая функция(любая), программа должна сама решить её и построить его графикКак решить подобную задачу
Есть код в maincpp, который описывает форму программы
Скажите, пожалуйста, есть ли какая-то видимая разница в работе 2-х функций?