問題タブ [ambiguity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1421 参照

xsd - この非決定論的XMLスキーマを決定論的に書き直す方法は?

なぜこれが非決定的であり、それを修正する方法は?

<activeyears>これは、が空であるか、シーケンスが含まれていることを意味することになっています。シーケンスは、<from><till>で始まり、<from>どちらかで終わる可能性があります。

0 投票する
4 に答える
853 参照

c++ - C ++であいまいな呼び出しを区別する方法は?

明確な電話をかける方法は?

編集:このコードはg++とMSVCでコンパイルできます。

ありがとう。

0 投票する
2 に答える
2193 参照

c++ - enable_if を使用する関数の前方宣言: あいまいな呼び出し

を使用する関数を前方宣言するのに問題がありますboost::enable_if。次のコードではコンパイラ エラーが発生します。

コンパイル時に、「foo へのあいまいな呼び出し」エラーが発生します。の定義によるとenable_if、'type' typedefvoidは条件が true の場合に対応するため、私が見る限り、2 つのシグネチャはfoo一致します。なぜコンパイラはそれらが異なると考えるのですか?また、前方宣言する正しい方法はありますかfoo(できれば、その部分を繰り返さないでenable_ifください)?

0 投票する
1 に答える
1363 参照

c++ - 可変個引数パラメーターを使用して引数のないテンプレート関数にアクセスするあいまいなオーバーロード

ええ、タイトルは赤ちゃんを怖がらせることができますが、実際には非常に簡単です。

図のように、特殊なテンプレート関数、つまりboost :: make_shared(boost 1.41)への関数ポインターを格納しようとしています。

ただし、boost :: make_sharedには、コンパイラがこのコンテキストで区別できない次の2つの特殊化があるため、コンパイルされません(GCC 4.4.1)。

参考までに、エラー:

非可変個引数のバリエーションをコメントアウトすると、コードは正常にコンパイルされます。

このような2つの引数のない関数間のあいまいさを解決するための適切な構文を知っている人はいますか?

0 投票する
1 に答える
1053 参照

c++ - クラスの「this」ポインターを使用したboost::intrusive_ptrコンストラクターのあいまいさ

問題のコード:

次のように使用します。

GCC (4.4.1) でブースト 1.41 を使用すると、GetPointer() の最初の (非 const) バージョンを開始すると、次のエラーが発生します。

私の C++ の難解なスキルには、あいまいさがある理由がまったくわかりません。188 行目と 94 行目の 2 つの候補は、既存の intrusive_ptr 右辺値参照を使用していますが、これSharedObject::thisは確かにそうではありません。ただし、最終候補は完全に一致します (bool 引数はオプションです)。

問題が何であるかについて私に教えてくれる人はいますか?

EDIT +回答:私はついにそれを実現しました

thisPointer typedef が SomeClass である間、SharedObject を参照します。(これは、Butterworth がすぐに指摘したことのほとんどです)。

私はthis本当に SomeClass であり、SharedObject から継承していることを知っているので、static_cast はテンプレート クラスを一巡させます。

0 投票する
1 に答える
138 参照

c++ - C++ 初めてのテンプレート

ここであいまいさを避けるのに最適なのはどれですか?

「void swap(T &,T &)」、「void std::swap(_Ty &,_Ty &)」または...

ところで、itv は vector<int>::iterator です。

どうも。

0 投票する
3 に答える
4868 参照

c++ - オブジェクト構築/フォワード関数宣言の曖昧さ

Observation: the codes pasted below were tested only with GCC 4.4.1, and I'm only interested in them working with GCC.

こんにちは、

理解できないオブジェクト構築ステートメントに出くわしたのはほんの数回ではありませんでした。そして、それによってどのような曖昧さがもたらされているかに気付いたのは今日だけでした。それを再現する方法を説明し、それを修正する方法があるかどうかを知りたいです (C++0x は許可されています)。ここに行きます。

コンストラクターが引数を 1 つだけ取るクラスがあり、この 1 つの引数の型がデフォルトのコンストラクターを持つ別のクラスであるとします。例えば:

スタック上に型のオブジェクトを構築しようとするとClass、あいまいさが生じます。

私はそれがオブジェクトの構築だと言っていますが、コンパイラはそれが関数本体内の前方宣言であると主張しています。まだ理解していない人のために、完全に機能する例を次に示します。

まあ、十分な例です。あまりにも反慣用的なものにすることなく、誰でもこれを回避するのを手伝ってくれますか (私はライブラリ開発者であり、人々は慣用的なライブラリが好きです)?

- 編集

どうでも。これは、ほとんどの厄介な解析のだまされています。なぜ A a(()); 仕事?.

ありがとう、sbi。

0 投票する
6 に答える
3495 参照

java - Javaは、

このコードを実行すると、どのような動作が期待できますか?

次のように動作しますか?

または:

それともまったく予想外のことですか?

私はこれがかなり曖昧だと思うので、そしてこのトピックを検索している他の人々のために、私がそれをテストするのが面倒だからではなく、この質問をします。

0 投票する
2 に答える
1599 参照

oop - 同じ属性とメソッドを持つオブジェクトは同じクラスに属していますか?

同じ属性とメソッドを持つオブジェクトは同じクラスに属していますか?

  1. 同じメソッドと属性を持つ2つの同一のクラスを宣言し、それらをインスタンス化して、「異なるクラスに属する同じ属性とメソッドを持つオブジェクト」を持つことはできませんか?

  2. クラスAとサブクラスB(クラスAの子)の両方を同じメソッドと属性で宣言して(そしてクラスBで新しい属性やメソッドを宣言しないで)、それらをインスタンス化して「異なるクラスに属する同じ属性とメソッドを持つオブジェクト"?

この質問は良い習慣についてではありません...それはタイトルの質問の論理値(真または偽)についてです。

0 投票する
5 に答える
1271 参照

c# - 目的CのC#のオブジェクトに相当するものは何ですか?

c# では、宣言しobject o;てから割り当てることができます。o=(float)5.0;またはo="a string."、Objective-C に相当するものはありますか? 使ってみたidのですが、float や integer のようなプリミティブ型は取りません。助けてくれてありがとう。