【发布时间】:2015-02-21 17:17:43
【问题描述】:
我有“段”类:
class Segment
{
private:
Point &_a;
Point &_b;
public:
Segment(const Point& start, const Point& end);
~Segment();
};
这是构造函数的实现:
Segment::Segment(const Point& start, const Point& end):
_a(Point(start.x(), start.y())),
_b(Point(end.x(), end.y())),
_segmentID(_freeID++)
{
return;
}
它符合警告:
警告 C4413:引用成员被初始化为在构造函数退出后不会持续存在的临时对象
如何正确初始化类构造函数中的引用?如何摆脱这个警告?
附:这是另一个有同样问题的构造函数:
Segment::Segment(double x1, double y1, double x2, double y2):
_a(Point(x1, y1)),
_b(Point(x2, y2)),
_segmentID(_freeID++)
{
return;
}
【问题讨论】:
-
为什么要使用参考成员?为什么不只是普通的成员变量?
标签: c++ class reference member