問題タブ [extern]

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 に答える
216 参照

c++ - extern(al)問題

このコードをコンパイルできないのはなぜですか?

エラーメッセージが表示されます:
エラー2エラーLNK2019:未解決の外部シンボル "int __cdecl f(struct X)"

エラー3エラーLNK2019:未解決の外部シンボル "struct X __cdecl operator *(struct X、struct Y)"

もう1つの興味深い点は、実装をdef.hファイルに配置すると、エラーなしでコンパイルされることです。しかし、def.cppはどうですか?関数f(X)がすでに定義されているというエラーメッセージが表示されないのはなぜですか?ここでは、ODRルールを適用しないでください。私が抱えている2番目の懸念は、def.cppでfの戻り型をintからdouble intelliSenseに変更した場合、これはエラーとして強調されますが、プログラムはまだコンパイルされますか?なんで?

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

c - プレーン C の静的変数と extern

関数の外で静的変数を宣言することと、関数内で静的変数を宣言することの間に違いはありますか?

また、変数を static として宣言することと、単に extern 変数を宣言することの違いは何ですか?

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

c - -c オプションの有無にかかわらず、gcc が extern グローバル変数を解決しない

だから私はこの問題を抱えています:私は私のCプログラムでいくつかのexternグローバル変数を宣言しています。gcc に -c オプションを使用しないと、未定義の参照エラーが発生します。しかし、その -c オプションでは、リンクは行われません。つまり、実行可能ファイルが生成されていません。

では、どうすればこれを解決できますか?

これが私のmakefileです(Alexに感謝して書かれました)

そして、これが make の出力です: http://pastebin.com/NzsFetrn

私は approx.h (extern および global) で extern 変数を宣言しましたが、approx.c でそれらを呼び出そうとしましたが、そこでは機能しません。

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

c - Objective-C の int のグローバル配列が期待どおりに機能しない

私の MyConstants.h ファイルに...私は持っています:

一致する MyConstants.m ファイルには...次のものがあります。

他の *.m ファイルのそれぞれに...

私の viewDidLoad{} メソッドの 1 つの中に、次のものがあります。

「abc = (22) (3)」ではなく「abc = (0) (3)」と表示されるのはなぜですか?

これを期待どおりに機能させるにはどうすればよいですか?

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

cocoa-touch - extern を使用せずに、別のクラスで宣言された変数にアクセスするにはどうすればよいでしょうか?

externを使わずに、classAで宣言されているclassBの整数型変数にアクセスできますか?

ClassA *obj1 = [[ClassA alloc]init]; を使用したオブジェクトについては、そして、classA のオブジェクトをクラス B にアクセスしました。

しかし、私は int 、 float 、 NSTimeInterval でそれらを行うことができません。extern を使用せずにどうすればよいのでしょうか?

ありがとうございました。

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

c++ - extern キーワードは本当に必要ですか?

aaaで定義されておりtest1.h、 extern キーワードを使用していませんが、参照できますaaa

だから私はextern本当に必要だと思いますか?

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

c - なぜ静的変数への外部リンクを行わないのですか?

extern int nnが(別のファイルで)宣言されているとコンパイルされないのに、宣言されているとstatic int n動作するのはなぜint nですか?(これらの宣言は両方ともファイルスコープにありました。)

基本的に、int nファイルスコープ内static int nが同じスコープ内と同じではないのはなぜですか?それはexternに関連しているだけですか?もしそうなら、externはどうですか?

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

c++ - 外部変数の問題

2 つの cpp ファイルと 1 つのヘッダー ファイルがあり、両方の cpp ファイルに含まれています。こんな感じです:

abc.h

a.cpp

b.cpp

a.cpp をコンパイルすると、エラーは発生しなくなりました。しかし、b.cpp をコンパイルすると、「'key' への未定義の参照」というエラーが表示されます。このコードの問題を見つけるのを手伝ってください。

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

c++ - pro*C ファイルでの C 関数の呼び出し

pro*C プログラムにこれらの行があります。関数 initAverage(int i) は C 言語で定義されており、.pcc (Pro C++) ファイルでこの関数を呼び出そうとしています。

エラーが発生します

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

c++ - C++ 'new' キーワードと C

重複の可能性:
C++ でキーワード class を変数名として使用する

私が使用しているライブラリの C ヘッダー ファイルでは、変数の 1 つに「new」という名前が付けられています。残念ながら、私はこのライブラリを C++ プロジェクトで使用しており、変数名として 'new' が出現すると、コンパイラが異常終了します。私はすでに extern "C" { #include<...> } を使用していますが、この点では役に立たないようです。

「new」は C キーワードではないため、C 開発者としての観点からは、コードはまったく問題ありませんが、ライブラリ開発者にその変数の名前を変更するよう依頼する必要がありますか?