これらのテストでは、コンパイル時にエラーが発生することはありませんが、異なるタイプのポインタが返されています。void * function()の使用する戻り値の型は?
void *testone(void *x)
{
return (x);
}
void *testtwo(void *x)
{
char *y;
return (y);
}
私はmemcpy関数を再作成しようとしていますし、私がvoidポインタ、またはunsigned char型のポインタを返す必要がある場合は、私が言うことができないので、これは特に混乱しています。
'testtwo'は初期化されていない値を返すため安全ではありません。タイプとは関係がありません。 – zwol
あなたは(「未使用のパラメータ」の警告を回避するため) '' void *型testtwo(無効)を使用して、 'y'を初期化することによって、コンパイラといくつかのマイナーな問題を避けることができます。しかし、それらはあなたの質問にほとんど接しているニックスティックですが、それは十分に明確です。 –
Void * genericポインタ。この場合、戻り値の型は任意の型のポインタである必要があります。 – LethalProgrammer