質問: new BBB< XXX >("is_XXX"); ・・・ ```
回答: この場合は `BBB` のコンストラクタは暗黙に `AAA` のデフォルトコンストラクタを呼び出しますが、それは `BBB` からは見えないスコープにあります。 `private` に入れている以上、 `AAA` のデフォルトコンストラクタを呼び出せないようにしているのは意図的なものだと思うので読び出し側のミスですね。 `BBB` のコンストラクタが初期化リストで明示的に `AAA` のコンストラクタに引数を渡すようにしてください。 つまり、 `BBB` のコンストラクタを以下のように定義すれば通るはずです。 ``` explicit BBB(const std::string instance_name) : AAA(instance_name) { // 省略 } ``` 手元に環境がないので確認していませんが、記事中のコードは C++ のコードとして明らかにエラーであり Visual Studio 2013 でもおそらく通らないはずです。 環境の違いではなく移植作業時のミスでしょう。