1
說定義在C++中的頭文件中的結構,foo.h中在C++和c中共享一個結構?
typedef struct {
...
}foo;
在.c文件
我包括了foo.h,然後
foo* fooPtr;
將它的工作?
說定義在C++中的頭文件中的結構,foo.h中在C++和c中共享一個結構?
typedef struct {
...
}foo;
在.c文件
我包括了foo.h,然後
foo* fooPtr;
將它的工作?
這很大程度上取決於結構foo
中的實際內容。如果結構僅僅是數據,並且本身或其任何成員字段中沒有行爲,那麼應該在C或C++中工作得很好。如果有任何形式的明示或暗示的行爲(認爲產生的析構函數),則沒有也不會在正確C.
工作例如:
// Works fine in C or C++ irrespective of where it was defined
typedef struct {
int field1;
} foo;
// Will have different behavior if it compiles at all.
struct bar {
~bar() {
// destructor code
}
};
typedef struct {
bar b;
} foo;
的C++ struct
聲明符合C語言只要它沒有任何C++功能;一個簡單的C語言聲明。例如,沒有private
聲明。
也許吧。什麼是結構? – 2010-09-30 23:06:40
當您嘗試此操作時發生了什麼?你有沒有得到任何錯誤? – 2010-09-30 23:07:51
也許,它是否適合你? – 2010-09-30 23:09:59