0

ここに画像の説明を入力 (大きい)

ここに画像の説明を入力 (大きい)

function のどこかanimationWithFramesで、私のベクトルはアイテムを失います。

これは実際にはstd::vector の薄いラッパーであるCCMutableArrayです。

template<class T = CCObject*>
class CCMutableArray : public CCObject
{
public:
    typedef std::vector<T>                              CCObjectArray;
    typedef typename CCObjectArray::iterator            CCMutableArrayIterator;
    typedef typename CCObjectArray::reverse_iterator    CCMutableArrayRevIterator;
public:
    // ... helper functions ...
private:
    std::vector<T> m_array;
};

私が得られないのは、変数フレームを関数に送信すると、デバッガーは、2 つの項目を持つ変数 m_array があることを受け入れることです。

しかし、関数内では、変数は「ゴースト」形式になっているようです。

フレームには以下が含まれます:

m_array=[ 2 ](0x051d5078 ... )

ただし、展開すると、m_array が含まれます

[0]().

デバッガーがこのように矛盾する原因は何ですか?

ところで、コードは項目を認識しません。彼らは輸送中に姿を消しました。それが問題です。

Visual Studio 2010。2008 年には正常に動作しました。作業を行うためにダウングレードする場合があります。

4

1 に答える 1

0

これは、明らかに 2008 ビルドの cocos2d-x を 2010 プロジェクトにリンクしていた、まったくばかげた問題であることが判明しました。

デバッガーはそれがあまり好きではありませんでした。

2010 内で cocos2d-x を再構築すると、問題がなくなり、すべてがうまくいきました。

于 2012-03-21T11:23:45.887 に答える