Можем ли мы иметь оператор, который вызывает конструктор и ничего не делает с ним?
По сути, я перегружаю конструктор и использую конструкторы, не назначая его переменной, как обычно.
(Обычно мы бы этого не делали, но я мог видеть это при использовании функторов, возможно.)
Есть идеи? .... (Я объявил конструктор копирования закрытым, просто чтобы убедиться, что это не является причиной проблемы.)
class myClass
{
public:
myClass (int n, int x) { }
myClass (int n ) { }
private:
myClass (const myClass & t){} // copy constructor is private.....
};
int main()
{
int r = 5;
myClass A( r ); // OK (as per usual)
myClass ( r, r ); // OK
myClass ( 5 ); // OK
myClass ( r ); // not OK : error C2371: 'r' : redefinition; different basic types
// myClass B = myClass ( r ); // this would not work as copy constructor
// has been declared as private
return 0;
}