编译器错误 C2679

二进制“operator”:未找到采用“type”类型右侧操作数的运算符(或者没有可接受的转换)

要使用该运算符,必须针对指定类型将其重载,或者定义一个到某个类型(该运算符已针对此类型进行了定义)的转换。

下面的示例生成 C2679:

// C2679.cpp
class C {
public:
   C();   // no constructor with an int argument
} c;

class D {
public:
   D(int) {}
   D(){}
} d;

int main() {
   c = 10;   // C2679
   d = 10;   // OK
}