汎用ポインタは
void *型(void型は、ポインタ型でのみ使用可能)
通常の変数にはvoid型は存在しない。
これは、名前からわかるように
ありとあらゆるポインタ型に変換できるポインタ型。
つまり、どのような値でも受け取れる関数を作成するために使われる。
汎用ポインタを使用すれば、どのような型でも受け取れる。
void型のポインタを逆参照するには必ず型キャストします。
キャストはc言語では任意ですが、C++では必ず必要になる。
例)
void outString(void *buf);