Test 内のマップが値を返さないのはなぜですか? これの何が問題なのですか?
class Test{ //Test.h
public:
std::map< char*, int> mm;
Test();
void set();
int get( char*);
};
Test::Test(){ //Test.cpp
}
void Test::set(){
mm["aaa"] = 24;
}
int Test::get( char* n){
return mm[n];
}
int main(){ //main.cpp
Test *test = new Test();
test->set();
//this returns 0 instead of 24
printf("From Test: %d\n", test->get("aaa"));
printf("From Test: %d\n", test->mm["aaa"]);
delete test;
//this map works
std::map<char*, int> mm;
mm["a"] = 54;
printf("Local: %d\n", mm["a"]);
return 0;
}
投稿するには追加のテキストが必要です >.<
おっとっと!次の理由により、質問を送信できませんでした:
あなたの投稿には、コード セクションを説明するコンテキストがあまりありません。シナリオをより明確に説明してください。