为什么我不能``static_cast`从`const char *`到`const PVOID`(`typedef void *`)?

时间:2018-01-24 21:53:36

标签: c++ pointers static-cast

但是从static_castconst char *的{​​{1}} CPVOIDtypedef const void *无缝的。

我不明白const PVOIDCPVOID之间是否存在差异?

代码:

typedef void * PVOID;
typedef const void * CPVOID;

int main()
{
    const char * c = nullptr;

    CPVOID e = static_cast<CPVOID>(c);             // Ok
    const PVOID f = static_cast<const PVOID>(c);   // Error
}

Wider example on Coliru

0 个答案:

没有答案