問題タブ [implicit-declaration]
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.
c - struct tm の代替
struct tm
(この構造と同じメモリが割り当てられている)の代わりに、他の代替データ構造が存在しますか?strftime
宣言せずに使えるように<time.h>
暗黙の宣言に頼るのは良くないということは承知していますが、インタビューでこの質問に直面しました。
編集:正確には、標準ライブラリ関数を使用して対応する整数の月を出力するように求められましたが、ヘッダー ファイルを含めることは許可されていません。
c - Cでの暗黙の宣言
Undefined Behaviour
次のプログラムはCで呼び出しますか?
上記のプログラムには暗黙の宣言がありprintf()
ますが、上記のコードは完全に標準に準拠していますか、それとも実装固有の動作がありますか?
c - 含めずに
以下のプログラムは、<stdio.h>
?を含めずに動作しています。なぜこれが機能するのですか?
c# - C#でvarを使用して定数を宣言できないのはなぜですか?
これ:
正常にコンパイルされますが、
しない...ながら:
これと同じようにコンパイルします:
なぜ?
c++ - コピー コンストラクターからの 2 種類のコンストラクター呼び出し
以下のサンプル コードを検討してください。
Type1: クラス sample に対して明示的に宣言されていないコピー コンストラクター
(上記のコードでは Type1 が示されています。次に、クラス sample のコピー コンストラクターがコンパイラによって暗黙的に生成されます)。ステートメントLine1
が実行されると、最初に のコピー コンストラクターclass core
が呼び出され、次に のコピー コンストラクターclass sample
が呼び出されます。
Type2: クラス sample に対して明示的に定義されたコピー コンストラクター
ステートメントLine1
が実行されると、最初に のデフォルト コンストラクターclass core
が呼び出され、次に のコピー コンストラクターclass sample
が呼び出されます。
質問:
Type1 と Type2 で述べたように、コピー コンストラクターの動作にこの違いがあるのはなぜですか?
c - 暗黙の宣言
MacOS10.7でXcode4.1を使用しています
「関数"swap"の暗黙の宣言はC99では無効です」という警告が表示されます
c - C 暗黙の宣言は内部関数の宣言とは異なります
C標準関数で困っています。例として、 memcpy 関数でそのエラーが発生し、正しい引数を渡しています。#include "header.h" としてヘッダーをインクルードし、"header.h" ファイルに などをインクルードしました。(strcpy、strtok、およびその他の標準関数でもこのエラーが発生します。それぞれのヘッダーはすべて「header.h」に含まれています)
誰でもこれで私を助けてもらえますか? この作品を展開する時間がなくなってきました...よろしくお願いします
c - Cが暗黙の関数と型なし変数の宣言を許可するのはなぜですか?
言語が関数と型なし変数の暗黙の宣言を許可することが賢明なのはなぜですか?Cは古いと思いますが、宣言を省略してデフォルトint()
(またはint
変数の場合)にすることを許可することは、当時でさえ私にはそれほど正気ではないようです。
では、なぜ最初に導入されたのですか?本当に便利でしたか?それは実際に(まだ)使用されていますか?
注:最近のコンパイラーは(渡すフラグに応じて)警告を出し、この機能を抑制できることを理解しています。それは問題ではありません!
例:
scala - Scalaで、暗黙的に囲まれたインスタンスを持つパス依存のファクトリ
2つの内部クラスの内部複合を持つ外部クラスを想定します。
すべて素敵でダンディ。パスに依存する型を介してOuter
、あるメソッドから別のメソッドに内部をフィードすることに対するコンパイラの保護もあります。Outer
しかし、構文は少し面倒です。のようなものを書けるようになりたい
...暗黙が有効なブロックの外部インスタンスを省略します。そこで、暗黙のパラメータとしてOuterオブジェクトを使用してデリゲートメソッドを急いで追加します。
その最後のInnerWrap
定義は次のようになります:「違法な依存メソッドタイプ:パラメーターは同じセクションまたは以前のパラメーターの別のパラメーターのタイプに表示されます」これは実際には理にかなっています。私は他の変種を試しdef InnerWrap[O <: Outer#Inner](i: O)(implicit o: Outer) = o.InnerWrap(i)
ましたが無駄になりました。
問題は、どうすればよりクリーンな構文を使用できるようになるのかということです。InnerWrap
inオブジェクトの宣言をsまたは同等のOuter
ものを受け入れるようにするにはどうすればよいですか?o.Inner
c - 暗黙の宣言でエラーが発生しましたが、関数はソースファイルで宣言されています
暗黙の宣言エラーで最終的に失敗するワイヤレスドライバーを構築しようとしています:
関数を呼び出そうとする場所は次のとおりです。
したがって、これはCSCANが定義されている場合にのみ呼び出されるようです。さて、ソースファイルでは、CSCANが宣言されている場合はwl_iw_set_cscanも宣言されています(私は信じています)。 ここで定義されています(github)、そして...少し上にスクロールすると、定義されているCSCANにのみ依存しているように見えます。
CSCANは明確に定義されています。これは、詳細なビルドを実行した場合に表示されます。
wl_iw.cの先頭に「#defineCSCAN」を配置することで、二重に確信することもできます。これは、2回定義されていると文句を言います。したがって、CSCANが定義されていることを確信しています。
この場合、暗黙の定義警告がエラーになっているのはなぜですか?CSCANが定義されているため、wl_iw_set_cscanを定義する必要があります。