我嘗試在從++庫已經最初設計與結構繼承一個C接收到的C程序的數據訪問:如何在C中映射繼承的C++結構體?
例如:
// C++ data structures
typedef struct _Base
{
public:
int id;
wchar_t* name;
} Base;
typedef struct _Struct1 : Base
{
public:
int valueCount;
} Struct1;
typedef struct _Struct2 : Base
{
public:
int parentID;
int amount;
} Struct2;
我使用以下數據結構中下映射試過。
typedef struct _Base
{
int id;
wchar_t* name;
} Base;
typedef struct _Struct1
{
// Base struct data
int id;
wchar_t* name;
int valueCount;
} Struct1;
typedef struct _Struct2
{
// Base struct data
int id;
wchar_t* name;
int parentID;
int amount;
} Struct2;
但是打印數據,它看起來像我得到錯誤的值。
我是否缺少一些關於C++如何在內部表示繼承結構的參考?
在此先感謝!
哪些值是錯誤的?請更具體一些。 – Matt
您是否在使用Visual Studio等集成開發環境?如果你可以調試代碼,也許你的工具將允許你查看你正在接收的內存的原始字節,並且你可以計算出與你的期望不符的內容。 –
@Patrick:你能修改C++代碼嗎? –