10

たとえば、変数を作成した場合:

void helloWorld;

私はそれで何ができますか?何の役にも立たないので、最初はどうしようもないと思っていました。関数が戻り値なしに void を使用することは承知していますが、変数には目的がありますか?

- 編集 -

私は答えを見つけました。Java、C++、C などのプログラミング言語では void 変数が違法であることを認識しました。すべての回答に感謝します。

4

5 に答える 5

11

void変数は C/C++ では無効です。これは、コンパイラが変数のサイズを判断できないためです。void関数の引数リスト (引数を取らない) または戻り値の型 (何も返さない) としてのみ有効です。

「任意の型ポインター」を意味するものがありますがvoid *、これは汎用ポインター型ですが、逆参照することはできません。

于 2013-09-09T15:53:59.967 に答える
6

C99 6.2.6 パラグラフ 19 は次のように述べています。

void型は空の値のセットで構成されます。完成できない不完全型です。

また、voidC では、 はサイズのない型です。したがって、 type の変数を宣言した場合void、コンパイラはそれに割り当てるメモリの量を認識できません。
したがって、不完全な型であるため 、変数を宣言することはできません。void

voidvoid*型を指定せずにジェネリック ポインターを宣言できるため、 ポインター ( ) について話しているときに便利です。

詳細な説明については、 Keith Thompsonによるこの回答をお読みください。

于 2013-09-09T15:54:30.093 に答える
3

voidJavaでは変数型として使用できません。

ただし、使用できますVoid

Void クラスは、Java キーワード void を表す Class オブジェクトへの参照を保持する、インスタンス化できないプレースホルダー クラスです。

Classオブジェクトを取得すること以外は何もできませんが、それはstaticとにかくフィールドであるため、オブジェクト参照は必要ありません。

于 2013-09-09T15:54:31.977 に答える
1

C では、関数パラメーターを void にキャストできます

(void)myarg;

ただし、これは未使用のパラメーターの警告を処理する場合にのみ役立ちます。

于 2013-09-12T16:53:34.147 に答える
0

あなたは「空虚」が何であるかを知らないと思いますか??? あなたは..

ボイドに関する小さくて簡単な情報

void は、変数の宣言に使用する int や char のようなデータ型ではありません。

void は戻り型です

void 戻り値の型は、この関数から何も返さないことを示すために使用されます。

何も返さない場合は、関数 (メイン関数を含む) の戻り値の型として void を記述する必要があります。あるいは、あなたは言うことができます....

return 0;

関数の定義の最後に。

これが無効とは何かを理解するのに役立つことを願っています。

于 2013-09-10T03:27:09.250 に答える