【发布时间】:2012-07-20 21:34:53
【问题描述】:
我是 C++/CX 新手。我想创建一个具有两个属性 X 和 Y 的 Vector 类。
在标准 C++ 中,复制构造函数是:
Vector(const Vector& v);
我将它翻译成 C++/CX 为:
Vector(const Vector^ v);
课程如下:
标题:
ref class Vector
{
public:
Vector();
Vector(const Vector^ v);
property double X;
property double Y;
};
实施:
Vector::Vector()
{
X = 0;
Y = 0;
}
Vector::Vector(const Vector^ v)
{
this->X = v->X;
this->Y = v->Y;
}
但是在将 v->X 分配给 this->X 时出现错误:没有函数“Vector::X::get”的实例与参数列表和对象匹配(该对象作为阻止匹配的类型限定符)。
如何正确实现复制构造函数?
谢谢。
【问题讨论】:
-
为什么还需要复制构造函数?
ref class总是被引用使用,所以你总是只复制引用,不需要复制构造函数。
标签: c++ windows-runtime c++-cx