Я пытаюсь перенести большую библиотеку в Алхимию. Я столкнулся с чем-то похожим на ошибку Алхимии. У меня есть класс со статическим членом. Есть статическая функция, которая ее использует. Примерно так:
В foo.h:
class Foo
{
static Bar m_pBar;
static void doSomething (int a);
}
В foo.cpp:
Bar Foo::m_pBar;
void Foo::doSomething (int a)
{
m_pBar.doSomething(a);
}
Когда я выполняю Foo :: doSomething (a), я получаю TypeError: Ошибка # 1006: значение не является функцией.
С другой стороны, если я использую локальную переменную того же типа в статической функции (только для проверки), она работает:
void Foo::doSomething (int a)
{
// Test
Bar pBarTest;
pBarTest.doSomething(a);
}
Так что я предполагаю, что статическая переменная не инициализируется. Это прекрасно работает при компиляции с g ++ в Linux и Mac и с Visual C ++ 2008 в Windows, поэтому похоже, что Alchemy делает что-то не так.
Кто-нибудь сталкивался с такой же проблемой?