Re[2]: static members.
От: Mechanicus Беларусь  
Дата: 05.02.04 15:51
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Подозреваю, что сначала вызывается registerWorld, а затем — конструктор

ПК>boost::function для объекта Module::worldFactory_, что приводит к обнулению
ПК>указателя, в нем содержащегося.
Блин. Точно. Я знал что function где-то обнуляется, но никак не мог понять где.

M>> VC7.0 всё компилит и выполняет нормально. Я даже не знаю кто тут прав, вроде

M>> код верный, и VC прав, хотя кто его знает.

ПК>Оба правы: стандарт не гарантирует порядок инициализации глобальных объектов в

ПК>разных единицах трансляции.
Кстати есть ещё такое момент. Можно ли писать так?
1.cpp
namespace {
    bool reg = ....;
}
2.cpp
namespace {
    bool reg = ....;
}

VC7.0 при линковке ругается на то, что reg уже определён в другом модуле. Разве он прав
... << RSDN@Home 1.1.3 beta 1 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.