0
我有一個C++類FooCpp,一個C++接口的IFoo和對象 - 類FooObjC上的IFoo我有:的OBJ-C指針C++已經改變
public:
virtual ~IFOO() {};
virtual void seePointer(FooCpp* p);
上FooCpp我有:
上.H
class FooCpp : virtual public IFOO {
public:
virtual ~FooCpp() {};
void seePointer(FooCpp* p);
}
和.cpp
void FooCpp::seePointer(IFOO* p){
printf("%p\n",p);
}
和FooObjC我把它叫做:
FooCpp *foo = new FooCpp();
FooCpp *f = new FooCpp();
printf("%p\n",f);
foo->seePointer(f);
,當我這個,我發現瞭如下日誌:
0x848f520
0x61630002
爲什麼點地址已更改?因爲我在我的程序中出現錯誤,有人知道爲什麼這個以及如何解決它?
對我的作品當我執行你的代碼,我得到:'0x100109f30 0x100109f30'我可以上傳的地方項目,如果你喜歡你的問題不在於此 – trojanfoe
這裏是我的工作項目:。HTTP: //dl.dropbox.com/u/18450868/CppTest.zip – trojanfoe
@trojanfoe我會嘗試使用FooObjC.mm而不是FooObjC.m也許是這個因爲我使用.cpp和.m而不是.cpp和.mm – ademar111190