hello,
i don't understand:
class Shape {
//class Type;
//friend class Shape::Type;
int _number;
double _x, _y;
class Type {
Shape* _parent;
public:
Type(Shape* sh) : _parent(sh) {
double d = _parent->compute();
double d2 = _parent->_x; //it compiles....
}
};
public:
Type _type;
Shape(double x = 0, double y = 0) : _type(this), _x(x), _y(y) { }
double compute() {
return _x * _y; }
};
class Shape {
//class Type;
//friend class Shape::Type;
int _number;
double _x, _y;
class Type {
Shape* _parent;
public:
Type(Shape* sh) : _parent(sh) {
double d = _parent->compute();
double d2 = _parent->_x; //it compiles....
}
};
public:
Type _type;
Shape(double x = 0, double y = 0) : _type(this), _x(x), _y(y) { }
double compute() {
return _x * _y; }
};
To copy to clipboard, switch view to plain text mode
if i comment those lines, it complies anyway...
Bookmarks