は、次のコードを考えてみましょう。私はこれがエラーであると予想していましたが、GCCはこのコードを受け入れます。 GCCのバグですか、何か不足していますか?なぜGCCはプライベートネストされたクラスから継承を許可していますか?プライベート入れ子になったクラスです<code>A::B</code>から</p> <pre><code>class A { class B {}; }; template <typename C> class D : A::B {}; void f() { D<int> d; } </code></pre> <p><code>D<int></code>継承:
10
A
答えて
7
2
テンプレート以外のクラスを作成しようとしましたか?
テンプレートクラスは、そのクラスのオブジェクトがない場合はコンパイルされません。このクラスのインスタンスを作成したり、非テンプレートの派生クラスを作成しようとする - gccがおそらく失敗します;-)
編集 私の悪い - オブジェクトが作成され、それがgccのエラーを引き起こしていません。そのために残念。
+2
彼はインスタンスを作成します。 'f()'で... – StoryTeller
+0
オク、右。 私はこれをチェックして、動作します:| | 私はそれを理解していない、本当に:) – Yester
関連する問題
- 1. Swiftの親/スーパークラスへの参照を取得するには? <code>A</code>からこの例では<code>B</code>継承を</p> <pre><code>class A { } class B:A { } </code></pre> <p>:
- 2. スカラ:ここ</p> <pre class="lang-py prettyprint-override"><code>def f((a, b)): return a + b d = (1, 2) f(d) </code></pre> <p>タプルに渡されては<code>f</code>に渡されながら分解されている:私はこれを行うことができますPythonで
- 3. テンプレートを特殊化<typename T、テンプレート<typename> class U>
- 4. A.</p> <pre><code>class A { }; class B : public A { }; </code></pre> <p>そして、私は3つのオブジェクトを持っているから継承C++ 11
- 5. 鋳造<code>class A</code>から
- 6. Vim Janus <D-F><D-/>
- 7. <<演算子と継承クラスのオーバーロード
- 8. なぜ "class << self"式を使用するのですか?
- 9. クールなクラスとメソッド名は ``:class `'にラップされていますこれはクールなクラス` {}ですか?</p> <pre><code>class `This is a cool class` {} </code></pre> <p>とメソッド名::私たちはクラスやメソッド名のための文を使用することができます</p> <pre><code>def `cool method` = {} </code></pre> <p>
- 10. QStringのstd :: ostreamとoperator <<を継承するクラス
- 11. 演算子<<オーバーロードの継承は、なぜ子クラスではなく基本クラスからの入力を得ましたか?
- 12. のXpath - チェックすべての要素がサブ要素を持つ文書</p> <pre><code><a> <b> <c/> <d/> </b> <b> <c/> <d/> </b> </a> </code></pre> <p>考える
- 13. は、私は次のdiv要素に</p> <pre><code><div class="top"> <div class="inner1"></div> <div class="inner2"></div> <div class="inner3"></div> </div> </code></pre> <p>を持つdivのフィット残りの高さ
- 14. はどのように、</p> <pre><code>f :: a -> b g :: b -> c h :: c -> d </code></pre> <p>ハスケル
- 15. .NET <code>List<T></code>クラスでは、.NETフレームワークリスト<T>継承
- 16. C#のフォーム - ボタン<code>bA</code>とユーザーコントロール<code>AChild</code><code>A</code>から継承し、<code>TableLayoutPanel</code>を含むを含むユーザーコントロール<code>A</code>をしてみましょうテーブルに
- 17. が動作していないよう<code>"a b"</code>から<code>"a b"</code></p> <pre><code>ssr["a b";"[ ]+";" "] </code></pre> <p>に取得するにはKDB +/Q
- 18. ドロップのは私が目標</p> <pre><code>1. A ⟹ B ⟹ C ⟹ D </code></pre> <p>を取得するには、次の補題</p> <pre><code>lemma "⟦ A; B; C ⟧ ⟹ D" </code></pre> <p>を表示したいとしましょうスタイル
- 19. div.classを<div class="class"></div>に変換してください。Textmate
- 20. なぜコンストラクタは一度だけ呼び出されますか?私は出力を取得しています</p> <pre><code>class A { public: A(int i) { cout<<"Called"<<endl; } }; int main() { vector<A> v(5,A(1)); return 0; } </code></pre> <p>:
- 21. cmake -D <var>:<type> = <value>:<type>は何ですか?
- 22. クラスがオーバーロードされている間に、継承されたTObjectコンストラクタを非表示にする方法はありますか?私たちは、クラスを使用したいとき今</p> <pre><code>TTest = class(TObject) public constructor Create(A:Integer);overload; constructor Create(A,B:Integer);overload; end; </code></pre> <p>:
- 23. 私はAのシーケンスに基づいて数値ベクトルに変換したい</p> <pre><code>A <- c("A","A","B","B", "C","C","C", "D") </code></pre> <p>のようなベクトルを持って
- 24. クラス内の静的変数のリストを取得するにはどうすればよいですか?</p> <pre><code>class MyClass { static var1 = "a"; static var2 = "b"; } </code></pre> <p>ようなクラスでは
- 25. Heredoc <<<または<<?
- 26. lambdaのlambda関数で "this"を取り込む方法は?例</p> <pre><code>class A { void f() {} void g() { [this]() // Lambda capture this { f(); A* p = this; [p]() // Workaround to let inner lambda capture this { p->f(); }; }; } }; </code></pre> <p>については
- 27. ジェネリック型のためのカスタムデシリアライザの作成方法私はFooのためのカスタム・ジャクソンのデシリアライザを書きたい</p> <pre><code>class <T> Foo<T> { .... } class Bar { Foo<Something> foo; } </code></pre> <p>:
- 28. D 2.0でこれらの演算子は何をしますか:<> =!<> =! <= !> =
- 29. なぜs4クラスのスロットとしてクラス定義を設定できないのですか?クラスと</p> <blockquote> <p>リスト "htest"</p> </blockquote> <p>ので、実際に<code>"htest"</code>がパッケージに定義された<em>正式</em>クラスではありません。
- 30. </p> <pre class="lang-html prettyprint-override"><code><input type="text" data-bind="value: nextName"> </code></pre> <p>観察可能なInternet Explorerの
テンプレート宣言を削除すると、予想されるエラーが発生するため、バグのようです。 – StoryTeller
MSVCがエラーをスローします。 –
Visual Studio 2012では、そのコードをコンパイルしません。 – Yester