static std::vector<int> ? Возможно ли такое?
От: bel_nikita  
Дата: 26.05.04 13:36
Оценка:
Возможна ли такая конструкция:
class cBaseTCB
{
  typedef std::vector<cBaseTCB*>  VECTOR;
public:
  static VECTOR static_Vector;
};
Re: static std::vector<int> ? Возможно ли такое?
От: Аноним  
Дата: 26.05.04 13:38
Оценка:
а почему нет?
Re[2]: static std::vector<int> ? Возможно ли такое?
От: bel_nikita  
Дата: 26.05.04 13:40
Оценка:
Здравствуйте, Аноним, Вы писали:

А>а почему нет?


Да вот не линкуется....

Error LLOC.3230: Undefined symbol
"?static_Vector@cBaseTCB@@0V?$vector@PAVcBaseTCB@@V?$allocato
@PAVcBaseTCB@@@std@@@std@@A" in module "RS_COMM" at location
0011796A.
Re[3]: static std::vector<int> ? Возможно ли такое?
От: Анатолий Широков СССР  
Дата: 26.05.04 13:43
Оценка:
class cBaseTCB
{
  typedef std::vector<cBaseTCB*>  VECTOR;
public:
  static VECTOR static_Vector; // объявление статической переменной
};

// cpp

// а вот здесь определение
cBaseTCB::VECTOR cBaseTCB::static_Vector;
Re: static std::vector<int> ? Возможно ли такое?
От: Димчанский Литва http://dimchansky.github.io/
Дата: 26.05.04 13:45
Оценка:
Здравствуйте, bel_nikita, Вы писали:

_>Возможна ли такая конструкция:

_>
_>class cBaseTCB
_>{
_>  typedef std::vector<cBaseTCB*>  VECTOR;
_>public:
_>  static VECTOR static_Vector;
_>};

_>


Только надо бы в cpp файле, например, добавить строку:
VECTOR cBaseTCB::static_Vector;
Re[3]: static std::vector<int> ? Возможно ли такое?
От: Сергей Зизев Украина  
Дата: 26.05.04 13:45
Оценка:
Hello, bel_nikita!
You wrote on Wed, 26 May 2004 13:40:53 GMT:

bn> Здравствуйте, Аноним, Вы писали:


А>> а почему нет?


bn> Да вот не линкуется....

bn>
bn> Error LLOC.3230: Undefined symbol
bn> "?static_Vector@cBaseTCB@@0V?$vector@PAVcBaseTCB@@V?$allocato
bn> @PAVcBaseTCB@@@std@@@std@@A" in module "RS_COMM" at location
bn> 0011796A.
bn>


Отсутствует определение статического члена

class cBaseTCB
{
public:
  typedef std::vector<cBaseTCB*> VECTOR;
public:
  static VECTOR static_Vector;
};

cBaseTCB::VECTOR cBaseTCB::static_Vector;

WBR
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re[4]: static std::vector<int> ? Возможно ли такое?
От: bel_nikita  
Дата: 26.05.04 13:48
Оценка:
Здравствуйте, Анатолий Широков, Вы писали:

Благадарю

З.Ы.: Видать пора мне домой
Re[3]: static std::vector<int> ? Возможно ли такое?
От: jazzer Россия Skype: enerjazzer
Дата: 26.05.04 14:03
Оценка:
Здравствуйте, bel_nikita, Вы писали:

_>Здравствуйте, Аноним, Вы писали:


А>>а почему нет?


_>Да вот не линкуется....

_>
_>Error LLOC.3230: Undefined symbol
_> "?static_Vector@cBaseTCB@@0V?$vector@PAVcBaseTCB@@V?$allocato
_> @PAVcBaseTCB@@@std@@@std@@A" in module "RS_COMM" at location
_> 0011796A.
_>


это не связано с тем, что ты используешь вектор
любой статический член класса должен быть дополнительно определен в какой-нибудь одной единице трансляции (чтобы компилятор знал, где же ему этот статический член разместить).
По этой причине это определение нельзя располагать в хедере — он попадет в несколько единиц трансляции и ты получишь нарушение правила одного определения (ODR).
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.