에 사용되는 '무효 *'유형의 포인터 :경고 : 산술
warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith]
: 컴파일러는 나에게 이런 경고를 제공
//READ
return *((volatile uint32_t *) (map + offset));
//WRITE
*((volatile uint32_t *) (map + offset)) = value;
그러나
코드를 변경하여 경고를 제거하려면 어떻게해야합니까? 나는 C++과 리눅스를 사용하고있다.
* char *로 캐스팅하십시오. * byte * offset을 원한다고 가정하십시오. 너? –
맞습니다 맵은 void *입니다, 감사합니다. – user1876942
'map'을 크기 1의 타입에 대한 포인터에 캐스트해야합니다. 표준에 의해 크기가 1로 보장 된 유일한 타입은'char'이므로,'char *'로 캐스팅해야합니다. –