キャストオペレータのオーバロードをグローバル関数で行いたいです。
あるライブラリのvector型のクラス、通称class Myvector
というものを利用しています。
これは、メンバ変数としてはstd::vectorと同じで、中身は<T>の配列のみで、メンバ関数をいろいろを独自追加するために実装されているようです。
しかし、std::vectorとMyvector間のキャストが無いため使いにくく、これを実装したいです。
std::vectorやMyvectorのコードを変更することは出来ないので、グローバルな関数などでキャストオペレータのオーバーロード関数を定義する方法はないでしょうか?
コードのイメージ的には、以下のようなものが動くと嬉しいです。(このコードは間違ってますが)
Myvector operator std::vector(){ return this.data(); //thisとは。。? } std::vector operator Myvector(){ return this.data(); //thisとは。。? } int main(){ std::vector hoge; std::vector fuga; hoge = fuga; fuga = hoge; }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。