1

大きなライブラリを Alchemy に移植しようとしています。Alchemy のバグのようなものに遭遇しました。静的メンバーを持つクラスがあります。それを使用する静的関数があります。このようなもの:

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: Error #1006: value is not a function が発生します。

一方、静的関数で同じタイプのローカル変数を使用すると(テストするためだけに)、機能します:

void Foo::doSomething (int a)
{
    // Test
    Bar pBarTest;
    pBarTest.doSomething(a);
}

だから私の推測では、静的変数は初期化されていません。これは、Linux と Mac では g++ でコンパイルし、Windows では Visual C++ 2008 でコンパイルすると正常に動作するため、Alchemy が何か問題を起こしているように見えます。

誰かがこの同じ問題に遭遇しましたか?

4

0 に答える 0