問題タブ [storage-class-specifier]

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 投票する
1 に答える
3062 参照

c - この宣言にはストレージまたは型指定子がありません

私はこの機能を持っています:

ここで、次のようないくつかの変数を宣言しています。

問題は、これらの変数を定義または使用しようとしているときです。たとえば、次のようになります。

次の 2 つのエラーが発生します。

  1. についてnum_models

    /li>
  2. gmm_ctxt:

    /li>

ローカル変数はデフォルトで自動ストレージ クラスであることを知っており、変数の型も指定しました。なぜこの種のエラーが発生するのですか?

関数呼び出しはmain()、別のソース ファイルにあります。

私は何かを監督していることを知っています。私の無知を許してください。

上記の関数をヘッダー ファイルで宣言し、関連する両方のソース ファイルに含めました。

構造体 bs_gmm_var はヘッダーで宣言されており、関連する両方のソース ファイルに含まれていました。宣言は次のようになります。

次に、メイン関数で上記の構造へのポインターを宣言しました。このポインターは、別の構造と共に次の関数に送信されます。

構造体 bs_gmm_var は、以下に示す関数で定義されています。

ご覧のとおり、これはポインター gmm_stats を介して構造体 bs_gmm_var を定義します。さて、定義されている構造体のアドレスとして(ポインターgmm_statsを介して)上記の関数に送信したポインター。そのポインターは、関数に送信しています:

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

c - ストレージ クラス: 静的について

このプログラムの出力を理解できません-

出力は 0 0 0 0

私の疑問は、メインへの最初の呼び出しで静的が初期化されないのはなぜですか? static が 5 への最初の呼び出しで初期化され、呼び出し間で共有されると仮定した場合の出力は、4 3 2 1 になるはずです

ありがとう!

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

c++ - auto 変数と static 変数に関連する混乱

上記のコードでは、変数 a (内側のブロック内) の可視性がそのブロック内でのみスコープを持つことを理解しているため、その特定の出力が得られます。しかし、そのブロックの外側で宣言されている変数 a は、内側のブロック内でもスコープを持つ必要があります...したがって、どうすれば再度入力できるのでしょうか。int a=20; 「a の再定義」や「前の宣言のがここにあった」。私が使用する場合のように

私の2番目の問題はこれです

「a の再定義」のようなエラーが発生しない理由についての前のコードと同じ疑問は別として、これはこのコードに関連する私の疑問です。

上記のコードについては同じ結果Output: 10 20 10が得られますが、私が期待していたのは

static int a が 20 に再初期化されると、内側のブロックで、ブロックを終了した後でも同じ値になるべきではないということですか? 静的変数のスコープはプログラム全体に及ぶためです。

0 投票する
0 に答える
275 参照

c++ - GLM ライブラリを使用できません。エラー「Illegal Storage Class」を取得しています

最近、OpenGL プロジェクトの 1 つで GLM ライブラリを使い始めました。今まで私は自分の数学ライブラリを使用していたので、この GLM.. エラーが含まれていますか?

コードを見てください

今、私は得る

これで、これらのエラーを完全に取り除くことができますが、それはライブラリ自体を編集することと同じではないでしょうか? 私は何か間違ったことをしていますか?ここで何が起こっているのですか?

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

c - switch ケースでの変数 i の動作

実際の動作がわかりません。出力は45 9です。
正当な理由を教えてください。

  1. 使い方?
  2. なぜですか?

前もって感謝します。

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

c - BSS セグメントがデフォルトで「16」になっているのはなぜですか?

私の知る限り、Cプログラムのセグメンテーションは次のとおりです。

私のRHEL 5.4 64ビットマシンでは、以下のcプログラム用

私がする時:

なぜなのか理解できません

BS=16

グローバル/静的変数を宣言/初期化していないので?