問題タブ [void]
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 - 代入での互換性のない型、ポインターの問題?
こんにちは、私は C を使用しています。ポインターの割り当てについて質問があります。
car と _car は同じ宣言を持っているのに、互換性のない型に関するエラーが発生するのはなぜですか? 私の推測では、それらがポインターであることと関係があると思います (それらは char * の配列へのポインターであるためですよね?) が、なぜそれが問題なのかわかりません。
char * car;
代わりに宣言すると、char * car[MAXINT];
正常にコンパイルされます。しかし、後でインデックスを使用して特定の情報にアクセスする必要があるときに、それがどのように役立つかわかりません。後でその情報にアクセスするのは非常に面倒です。実際、正しい方法で行っているかどうかさえわかりません。char * の配列を使用する代わりに、一連の文字列を格納するためのより良い方法があるかもしれません。
編集: INT_MAX (int の最大値) を使用するつもりはありませんでした。これは他の int であり、約 20 です。
c - void* 型として取得する関数で構造体メンバーにアクセスする方法は?
さまざまなタイプの構造体を引数として受け入れる関数が必要です。したがって、特定の型がないため、void* を使用する必要があります。問題は、この関数に構造体を渡すとき、関数内のこの構造体の既知のメンバーにアクセスするにはどうすればよいかということです。具体的には、すべての構造体がメンバーとして str1 を持っていることを知っており、たとえば、それを印刷したいと考えています。サンプルコードは次のとおりです。
c - 関数ポインタを宣言せずに void* を関数として呼び出す
検索しましたが、結果が見つかりませんでした (用語が間違っている可能性があります)。
void*
最初に関数ポインターを宣言してから関数ポインターにアドレスを割り当てることなく、C で a を関数として呼び出す簡単な方法があるかどうか疑問に思っていました。
すなわち。呼び出される関数が型であると仮定しますvoid(void)
上記のコードでエラー C2066: cast to function type is illegal in VC2008が発生します
これが可能な場合、戻り値の型と複数のパラメーターを持つ関数の構文はどのように異なりますか?
java - Java Object クラスから C++ へ
私は C++ に比較的慣れていませんが、バックグラウンドは Java です。Java から C++ にいくつかのコードを移植する必要があり、Object Java のクラスに関して疑問が生じました。したがって、これを移植したい場合:
void* タイプまたはテンプレートを使用する必要があると思いますか? それを達成するための「標準的な」手順が何であるかわかりません。
ありがとう
c - Cでvoidポインタを構造体にキャストするにはどうすればよいですか?
私がコードを書いているプロジェクトでは、「Hash_map」構造体のメンバーであり、「Array_hash_map」構造体を指す void ポインター「implementation」があります。このプロジェクトの背後にあるコンセプトはあまり現実的ではありませんが、ご了承ください。プロジェクトの仕様では、関数で使用する前に、void ポインターの「実装」を「Array_hash_map」にキャストするよう求めています。
私の質問は、具体的には、関数で void ポインターを目的の構造体にキャストするにはどうすればよいですか? それらをキャストする各関数の上部に1つのステートメントがありますか、それとも「実装」を使用するたびにキャストを行いますか?
Hash_map と Array_hash_map の構造体である typedef と、それらを使用するいくつかの関数を次に示します。
機能:
c - 引数を void* として渡すことは正当ですか?
pthreads API の学習を始めたばかりで、こちらのチュートリアルに従っています
ただし、pthread_create
のサンプル プログラムでは、サンプル プログラムは long 変数を作成し、その値を として型キャストして渡しますvoid*
。スレッド エントリ関数では、long のように逆参照します。
これは合法ですか?variable のアドレスを渡すとt
、すべてのスレッドが同じ変数で動作し、そのコピーでは動作しないことを理解しています。void*
これは aであり、コンパイラは送信している型を認識していないため、これを行うことができますか?
c++ - メインで無効になり、Dosプログラムが死ぬのを防ぎます
重複の可能性:
voidmainとintmainの違いは?
了解しました。流血のコンパイラを使用しています。最初に注意する必要があるのは、まったくの初心者に2001年版のC ++を使用していることです。この本の有効性に影響を与える、2001年以降のC ++への変更はありますか?phpにはphp5があり、現在はphp6であることがわかっているので、尋ねますが、C++03は見たことがありません。
さて、私が尋ねた理由で、このコードでは、
なぜ引数を無効にしたいのですか?これは何をしますか。
しかしvoid main (void)
、コンパイラでinを実行すると、mainの前に「int」が必要であると表示されます。したがって、「void」メイン(void)を持つことはできません。
また、コードが実行されると、「cin」がない限り、プログラムは閉じます。これは正常な動作ですか、プログラムの最後にcinを作成する以外に、これを停止するためのより良い方法はありますか?
c - 関数の前に (void) を付ける必要がある
私は最近、"void" を返す関数の呼び出しに (void) というプレフィックスを付ける、かなり変わったコーディング規則に出くわしました。
例えば
次のような関数呼び出しとは異なりますか。
それは何か利点がありますか、それとも不必要ですが、何らかのコーディング規約がありますか?
interface - F# で void を返すインターフェイス メンバーを実装する方法
C# で次のインターフェイスを想像してください。
これを F# で実装するにはどうすればよいですか? 30分間のオンライン検索で見つけたすべての例は、関数型スタイルでより一般的であると思われる戻り値の型を持つ例のみを示していますが、この例では避けられないものです.
これが私がこれまでに持っているものです:
_FS0010 で失敗:
expression_ に予期しないキーワード 'void' があります。
c# - C# で void ポインターを宣言する方法
C# で void ポインターを宣言するにはどうすればよいですか?