コンストラクタを呼び出し、何もしません。コンストラクタを呼び出し、何もしません。なぜコンパイルされませんか?
基本的には、コンストラクタをオーバーロードしており、コンストラクタを変数に割り当てることなくコンストラクタを使用しています。 (通常はこれをしませんが、ファンクタを使用するときにこれが発生することがあります)
私はコピーコンストラクタをプライベートとして宣言しています。問題の原因ではなかった。)
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;
}
(メイン '無効)' Cで**違法です++ **。 –