私は長い間最初のコンパイルを解決しようとしていますが、これが最後のハードルだと思います。
デザインでこのタイプの階層を作成しようとしています。
class chin_
{
private:
charon_* engine;
public:
chin_();
chin_(charon_ &handle)
{
engine = handle;
}
~chin_();
};
//////////////
class charon_ {
private:
chin_ engine_input;
public:
charon_(){
engine_input = chin_(this);
}
~charon_();
};
呼び出しに一致する関数がないことを示すエラーが発生します
'chio::chin_::chin()'
また、これはコンストラクターをcharon_&に変更した場合のみであることに注意してください。
public:
chin_(const charon_ &handle)
{
engine = handle;
}
sys/../headers/chio.h:104:5: note: no known conversion for argument 1 from ‘charon::charon_* const’ to ‘const charon::charon_&’
&の代わりに*を使用すると、代わりにこれを取得します。これははるかに厄介です。
sys/../headers/chio.h:104:5: note: chio::chin_::chin_(const charon::charon_*)
sys/../headers/chio.h:104:5: note: candidate expects 1 argument, 0 provided
私はこれとあれを試しました、そしてそれはおそらく超単純なものだと思います。私は自分のコードを見つけた例と正直に一致させようとしましたが、他に何を試すべきかわかりません。この種のものを自分で理解できるようにしたいと思います。運が悪いだけです。
編集:コードを更新しましたが、更新されたエラーを下部に残しました。
sys/chin.cpp:19:14: error: cannot convert ‘charon::charon_’ to ‘charon::charon_*’ in assignment
このコードに私を連れて行く
chin_::chin_(charon_ &handle) {
engine = handle;
}
engineはcharon_*エンジンとして定義されています。ハンドルは住所のようで、正しい位置に収まるはずですが、そうではありません。私はこれを正しく使用していないと思います。