为什么我的测试里面的地图没有返回它的值?这有什么问题?
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;
}
需要额外的文字才能发布>.<
哎呀!您的问题无法提交,因为:
您的帖子没有太多上下文来解释代码部分;请更清楚地解释您的情况。