我遇到了一个非常奇怪的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