-1
やあみんな...の変換コンストラクタC++私は、このクラスを書いた
struct TestStruct {
int a;
TestStruct(int pA) : a(pA){};
};
template <typename T> class ClassA {
public:
ClassA() : mTestStruct(sizeof(T)) {}
ClassA(T *ptr) : mTestStruct(sizeof(T)){};
ClassA(T param) : mTestStruct(sizeof(T)){};
ClassA(ClassA<T> &p){};
private:
TestStruct mTestStruct;
ClassA<T> &operator=(T *ptr) { return *this; };
};
とこのような何かをしたいです。 (変換コンストラクタと呼ばれていると思います)。
ClassA<long> p = new long;
これはわかります。 私はこの1つは...
ClassA<long> p(new long)
任意のアイデア方法で動作します?-std = C++ 14
no viable constructor copying variable of type 'ClassA<long>'
でそれをコンパイル
EDITED:これはエラーメッセージを再現するために使用したコードです。パラメータ(T=long
)としてlong
を取得ClassA
のコンストラクタ
そのクラス定義が偽である:
あなたがコピーされた変数として
&long
を取得ClassA
でコピーコンストラクタ、のようなものを作成する必要があります。実際のコードを投稿してください。 –[再現できません](http://coliru.stacked-crooked.com/a/015c33c7ea806933) – AndyG
いいえ、「実コード」は投稿しないでください。あなたが過去数日間デバッグしていた[MCVE]を投稿してください。 –