!!!!請勿答非所問 !!!!!
簡要如下:
struct XXX
{
....
...
char strname[****];
...
void funxx()
{
int iix = sizeof(strname);//這裡沒問題,問題在下面
}
};
int main()
{
XXX var;
int iix2 = sizeof(var.strname);//這也可以,
//問題在這裡,如何不創建類的實例,也不在類的函數中得到成員空間大小 !!!
int iix = sizeof(XXX::strname);//VC6編譯錯誤,為何????,如何解決???
1.sizeof不是函數,在編譯的時候,編譯器就求出了對應數據結構的大小。
2.至於是否支持sizeof(XXX::strname),完全取決於編譯器,在早期的c++中是不支持的,現在已經支持了。