- 【初心者歓迎】C/C++室 Ver.91【環境依存OK】
38 :デフォルトの名無しさん[sage]:2014/05/24(土) 15:34:47.97 ID:HkjKqa9B - テンプレートクラスが型パラメータとして相互参照する場面に出くわして
以下のように書きたいのですが、当然コンパイルは通りません。 (クラス名などは例です) http://ideone.com/k7bfmh これを解決する方法はありますか?
|
- 【初心者歓迎】C/C++室 Ver.91【環境依存OK】
41 :デフォルトの名無しさん[sage]:2014/05/24(土) 19:15:38.52 ID:HkjKqa9B - ありがとうございます、こういう構造は定義できないと理解しました
設計からやり直すことにします
|
- 【初心者歓迎】C/C++室 Ver.91【環境依存OK】
43 :デフォルトの名無しさん[sage]:2014/05/24(土) 19:38:13.28 ID:HkjKqa9B - >>42
外に出しても結局テンプレート構造体になるので 問題が変化しませんでした というか、これって要するに typedef SomeFunc<type_a> type_b; typedef SomeFunc<type_b> type_a; をしようとしていることになるので 「あ、これ無理じゃね」って感覚が一気に強くなりました どうもお騒がせしました
|
- 【初心者歓迎】C/C++室 Ver.91【環境依存OK】
46 :デフォルトの名無しさん[sage]:2014/05/24(土) 20:59:31.89 ID:HkjKqa9B - >>45
ああ、なるほどItem<T>をSomeWrapperの型引数にするってことですか 確かにそれなら問題ないですね 何か勘違いしていました・・・ 現状、実際のコードにおけるSomeWrapper::Itemにあたるクラスが SomeWrapper内の非public要素にアクセスしまくっているため 安直に外に出すと言うことはできないのですが (というかこの設計が一番問題な気がしてきた・・・) 教えていただいた方法を踏まえて落としどころを考えてみます ありがとうございます
|