我遇到了一個非常奇怪的g ++問題。在gdb中sizeof(Apple :: record_)爲零。但它運行良好
流動程序的輸出是「24 8 3」,所有的東西都可以。但是當我使用gdb時,打印sizeof(Apple :: record_),結果是0.我的gcc版本是4.5.2(GCC)(MinGw),gdb版本是GNU gdb(GDB)7.3 任何人都可以幫助我 ??
#include <iostream>
using namespace std;
struct Record {
int age;
const char* name;
};
struct Apple {
static Record record_[];
};
Record Apple::record_[] = {
{ 18, "liming i love apple" },
{ 19, "liming" },
{ 20, "liming a y z o pq x y z o o o " } };
int main() {
cout << sizeof(Apple::record_) << " " << sizeof(Apple::record_[0]) << " "
<< sizeof(Apple::record_)/sizeof(Apple::record_[0]) << endl;
return 0;
}
對不起,我誤解了你的問題。所以我刪除了我的答案。 – Mysticial