У меня есть простой класс Customer с 3 статическими QMap
//customer.h
class Customer : public QObject
{
Q_OBJECT
public:
static QMap<Customer::Type, QString> const names;
static QMap<QString, Customer::Type> const keywords;
static QMap<Customer::Type, QString> const debugStrings;
};
Customer::Type — это Enum, но это не относится к проблеме
//customer.cpp
//QMap<QString, Customer::Type> const Customer::names = Customer::initNames();
QMap<QString, Customer::Type> const Customer::keywords = Customer::initKeywords();
QMap<Customer::Type, QString> const Customer::debugStrings = Customer::initDebugStrings();
все три функции инициализации были протестированы и отлично работают, они определены точно так же и все статические
По какой-то причине я не могу раскомментировать имена в .cpp. Если я это сделаю, я получаю следующую ошибку:
error: conflicting declaration 'const QMap<QString, Customer::Type> Customer::names'
Я пробовал переименовывать, перемещать в другое место, всегда не работает этот, и я не знаю, почему?
Но остальные работали без проблем..