PDA

View Full Version : static members and error : unresolved external symbol "private: static class



smemamian
29th June 2013, 10:51
hi

I do not understand why I get this error message:


stringclass.obj:-1: error: LNK2001: unresolved external symbol "private: static class QString StringClass::one" (?one@StringClass@@0VQString@@A)
.
.
.
stringclass.obj:-1: error: LNK2001: unresolved external symbol "private: static class QString StringClass::twenty" (?twenty@StringClass@@0VQString@@A)

I am a newbie and this code is for practice:


#ifndef STRINGCLASS_H
#define STRINGCLASS_H
#include <QString>
class StringClass
{
private :

static QString one,two,three,four,five,six,seven
,eight,nine,ten,eleven,twelve,thirteen,fourteen,
fifteen,sixteen,seventeen,eighteen,nineteen,twenty ;
public:
StringClass();
static void setString(QString &One, QString &Two, QString &Three,
QString &Four, QString &Five, QString &Six,
QString &Seven, QString &Eight, QString &Nine,
QString &Ten, QString &Eleven, QString Twelve, QString &Thirteen
, QString &Fourteen , QString &Fifteen, QString &Sixteen, QString &Seventeen
, QString &Eighteen , QString &Nineteen , QString &Twenty);


static QString getStringOne();
static QString getStringTwo();
static QString getStringThree();
static QString getStringFour();
static QString getStringFive();
static QString getStringSix();
static QString getStringSeven();
static QString getStringEight();
static QString getStringNine();
static QString getStringTen();
static QString getStringEleven();
static QString getStringTwelve();
static QString getStringThirteen();
static QString getStringFourteen();
static QString getStringFifteen();
static QString getStringSixteen();
static QString getStringSeventeen();
static QString getStringEighteen();
static QString getStringNineteen();
static QString getStringTwenty();


};

#endif // STRINGCLASS_H



#include "stringclass.h"

StringClass::StringClass()
{
}

void StringClass::setString(QString &One, QString &Two, QString &Three,
QString &Four, QString &Five, QString &Six,
QString &Seven, QString &Eight, QString &Nine
, QString &Ten, QString &Eleven, QString Twelve
, QString &Thirteen, QString &Fourteen, QString &Fifteen,
QString &Sixteen, QString &Seventeen, QString &Eighteen,
QString &Nineteen, QString &Twenty)
{
one = One ;
two = Two ;
three = Three ;
four = Four ;
five = Five ;
six = Six ;
seven = Seven ;
eight = Eight ;
nine = Nine ;
ten = Ten ;
eleven = Eleven ;
twelve = Twelve ;
thirteen = Thirteen ;
fourteen = Fourteen ;
fifteen = Fifteen ;
sixteen = Sixteen ;
seventeen = Seventeen ;
eighteen = Eighteen ;
nineteen = Nineteen ;
twenty = Twenty ;
}


QString StringClass::getStringOne()
{
return one ;
}

QString StringClass::getStringTwo()
{
return two;
}

QString StringClass::getStringThree()
{
return three ;
}

QString StringClass::getStringFour()
{
return four;
}

QString StringClass::getStringFive()
{
return five ;
}

QString StringClass::getStringSix()
{
return six ;
}

QString StringClass::getStringSeven()
{
return seven;
}

QString StringClass::getStringEight()
{
return eight;
}

QString StringClass::getStringNine()
{
return nine;
}

QString StringClass::getStringTen()
{
return ten;
}

QString StringClass::getStringEleven()
{
return eleven;
}

QString StringClass::getStringTwelve()
{
return twelve;
}

QString StringClass::getStringThirteen()
{
return thirteen;
}

QString StringClass::getStringFourteen()
{
return fourteen;
}

QString StringClass::getStringFifteen()
{
return fifteen;
}

QString StringClass::getStringSixteen()
{
return sixteen;
}

QString StringClass::getStringSeventeen()
{
return seventeen;
}

QString StringClass::getStringEighteen()
{
return eighteen;
}

QString StringClass::getStringNineteen()
{
return nineteen;
}

QString StringClass::getStringTwenty()
{
return twelve;
}


Added after 58 minutes:

solved :

QString StringClass::one = NULL ;
.
.
.

anda_skoa
29th June 2013, 16:23
Just


QString StringClass::one;

will do as well, QString has a default constructor.