据说type name
在使用后不能在类内部定义。例如:
typedef double Money;
class Account {
public:
Money balance() { return bal; } // uses Money from the outer
private:
typedef double Money; // error: cannot redefine Money
Money bal;
// ...
};
该程序无法在GCC上运行,但在MSVC 14上可以正常运行! *我是从“ C ++入门手册第5版”中获得此示例的。