RAY's website

基底クラスの問題


※備忘録です。こんなことC++世界では常識だと思いますが…
 私は初心者かつおバカさんなので、お許しください…

私はプログラミング初心者。
C++ のことを勉強しながらゲームを作ってました。

その時、こんなコードを書いていたんです。
                    class Randomizer
                    {
                    public:
                        Randomizer();
                    protected:
                        // 乱数生成器
                        Random m_rand;
                    };
                    
Randomizer という基底クラスを作り、そこから派生クラスを作成する、という構成です。
ここで Random は、乱数生成をしやすくしたクラスです。

「(コピーコンストラクタ): 削除された関数を参照しようとしています」

??? どういうことだ??

調べてみると、コピーコンストラクタが生成されていないことが原因だそう。

このエラーの原因は Random m_rand;。
これを変数ではなく、ポインタにしてやれば OK でした。

ちなみに私は、生のポインタ(hoge* みたいなやつ)はメモリリークとか delete 忘れにビビッてスマートポインタを多用してます。
スマートポインタも有効的に活用しなくちゃ…

以上。
今回はこの辺で。
メニュー
閉じる