voidポインタについて


詳説Cポインタの中に

>
> voidへのポインタは他のポインタに等しくなることはありません。(voidポインタの振る舞いは、システムに依存します)。ただし、2つのvoidへのポインタがともにnullポインタであるとき、それらは等しいとみなされます。

という記述があったのですが、voidポインタが他のポインタと等しくならないとはどういう点において等しくないのでしょうか？




**その１）誤記または、翻訳ミスと思われます。**

「voidへのポインタは、他のポインタと同じように使用できない。」ではないか？

[code]

    int func(void *a, int *b)
    {
       long i;
       int  j;
    
       i = *(long *)a;  // キャストが必要
       j = *b;          // キャストが不要
    ...
       return j;
    }
    
[/code]

※func()関数が第１引数であるvoid *型で渡される実体がlong型であることを知っている前提。

**その２）2つのvoid *型が全く同じアドレスを保持していた場合**

キャストすべき型が同じなら等しいポインタと言えるし、  
キャストすべき型が違うなら異なるポインタと言える。

