#include<iostream>
#include<cstdio>
using namespace std;
class Point3d{
public:
static Point3d origin;
float x;
float y;
float z;
};
int main()
{
cout<<&Point3d::z<<endl;
printf("%d\n",&(Point3d::z));
return 0;
}
æåçè¿ä¸ªç¨åºæ¯å¨æ·±åº¦æ¢ç´¢C++|对象模åä¸çå°çï¼å¨VC6.0ä¸
coutçç»æ为1ï¼printfçç»æ为8
书ä¸æå°ï¼ &Point3d::z å°å¾å°zå¨class object ä¸çå移éã
è¿æ ·åããã
æä¸æäº
å¨g++ä¸ç¼è¯ï¼ç´æ¥ä¼æ¥éç
bd.c: In function 'int main()':
bd.c:4499: error: invalid use of non-static data member 'Point3d::z'
bd.c:4504: error: from this location
ä¸è§å¾è¿æ ·å±äºC++æ åçæä½æ¹å¼ å¯è½æ¯é¨åç¼è¯å¨çæ©å±å§
è³äºç»æï¼ä¸º2 为8çè¯é½å¯ä»¥è§£ééï¼ä¸è¿ä¸º1ï¼è¿ä¸ªå°±æ³ä¸éäº