dev-c++ 4.9.7 gcc 3.2 编译问题两则,求教于诸位高手!

薇儿爹 2003-02-19 12:19:21
1 变量名问题:
函数中使用变量名:rad1, rad2等(表示半径),编译报错,改成:r1, r2 就过了。
why?

2 静态变量初始化问题:
// pt.h
//
class pt
{
public:
pt();
pt( double x, double y);
...
};

// line.h
//
class line
{
public:
line(const pt&, ...);

// 声明静态变量
//
static const line x_axis;
};


// line.cpp
// 初始化静态变量
//
const line x_axis(pt(), ...); // 编译报错,why
const line x_axis(pt(0, 0), ...); // 编译过了

这两个问题在vc.net中都编译通过。实在是弄不明白,请高手赐教!

...全文
87 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yatuor 2003-02-19
  • 打赏
  • 举报
回复
第一个问题有点搞笑
第二个问题因为静态变量要在预编译时确定大小,默认构造函数不能在编译时确定line里的成员变量。
mr_oydy 2003-02-19
  • 打赏
  • 举报
回复
struct line
{
public:
line(const pt&, ...):x_axis1(*this){};

// 声明静态变量
//
static const line* x_axis;
const line& x_axis1;
};
const line* line::x_axis = NULL;

15,447

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧