2016-05-12 9 views
-2

LPVOIDをcharに変換するにはどうすればよいですか?LPVOIDをCHAR ERRORに変換するC2440:=

char * pCacheMap; 

pCacheMap = MapViewOfFile(hCacheMapping,FILE_MAP_READ|FILE_MAP_WRITE,0,0,0); 

エラー:

3 IntelliSense: a value of type "LPVOID" cannot be assigned to an entity of type "char *" 
Error 1 error C2440: '=' : cannot convert from 'LPVOID' to 'char *' 
+3

エラーメッセージの内容は不明ですか? C言語のような言語から期待されるように、 'LPVOID'から' char * 'への暗黙の変換はありません。C++にはキャストが必要です。 – WhozCraig

答えて

1

は、キャストを使用してください。 LPVOID *は無効と同義であるので、そう、他のポインタ型にキャストすることが有効です。

pCacheMap = static_cast<char *>(MapViewOfFile(...)); 

は動作します。