2012-03-17 17 views
1

に変換できません。Visual C++プロジェクトを実装しており、Windowsフォームを使用しています。私はC++スタックを使う必要があり、stack<>を使いました。しかし、このエラーが発生します。私は#include <stack>using namespace std;を追加します。using namespace std;を追加する前に、それは宣言されていない識別子を示します。しかし、それを追加した後、このエラーが発生します。私はC++を初めて使っています。なぜこのようなことが起こったのか誰も説明できません。ありがとう...!私のコードの'this'ポインタを 'std :: stack <_Ty>'から 'std :: stack <_Ty>&'

パート:

stack<int> TA; 
stack<int> TB; 
stack<int> TC; 

void move_a_to_b(){ 

    if(TB.top() < TA.top()){ 
    B[index_of_b + 1]->Image = A[index_of_a]->Image; 
    B[index_of_b + 1]->Visible = true; 
    A[index_of_a]->Visible = false; 
    index_of_a--; 
    index_of_b++; 
    TB.push(TA.top()); 
    TA.pop(); 
    } 
    else 
    MessageBox::Show("Invalid Move","Error",MessageBoxButtons::OK,MessageBoxIcon::Exclamation); 
} 
+1

コードを表示します。 –

+0

私たちにもっと協力してください。問題のある行を表示します。 – selalerer

+0

'System :: Collections :: Generic :: Stack <>'を使用できない理由はありますか? – Marlon

答えて

1

私は解決策を見つけました。これは、管理対象バージョンでstackのアンマネージバージョンを使用しているために発生します。スタックをnewキーワードで初期化してはなりません。

関連する問題