C++での宣言はmyFunction(void *x, void *y)
のようにできますか?C++で `myFunction(void * x、void * y)`のような宣言をすることはできますか?
私はこの宣言を持つ(大きな)プロジェクトを持っていますが、それはうまくいくように見えますが、どのようにパラメータタイプとして "void"を持つことができないのか分かりません。それはちょうどmyFunction(*x, *y)
と同じでしょうか?
C++での宣言はmyFunction(void *x, void *y)
のようにできますか?C++で `myFunction(void * x、void * y)`のような宣言をすることはできますか?
私はこの宣言を持つ(大きな)プロジェクトを持っていますが、それはうまくいくように見えますが、どのようにパラメータタイプとして "void"を持つことができないのか分かりません。それはちょうどmyFunction(*x, *y)
と同じでしょうか?
void
パラメータタイプはありませんが、void*
- voidへのポインタです。暗黙のうちにポインタをvoidに変換することはできますが、void*
だけでは何もできません。これらの関数の定義はどのように見えますか?
この定義は型へのキャストを行い、それを使用します。 –
間違いなくこのような機能を持つことができます。
実際、Cライブラリには、パラメータタイプとしてvoid*
という多数の機能があります。以下のような:
ほとんどが、このような機能は、いくつかの型に引数をキャストのいずれか、通常char*
、それは上の作品それ。
同様に、POSIXのpcreate_thread
またはWIN32のCreateThread
のような他のAPIも、void*
のパラメータがほとんどありません。どんなタイプでも一般的に仕事ができるからです。
しかし、C++では、C APIを使用する場合を除いて、パラメータタイプとしてvoid*
はめったに必要ありません。 C++では、汎用性のために、型保証型のテンプレートを使用します。
戻り値の型は実際に指定されていませんか? C++では、コンストラクタとデストラクタに対してのみこれを省略できます。 – crashmstr
C言語を使用すると、実際に何かを行うことができます(これは長いハンドアセンブラのようなものです)。拡張としてC++もそうです。実際に質問する必要があるのは、「これは良いアイデアですか?」と答えが「いいえ」である場合です。「この目標を達成するためのよりよい方法は何か」 –