참고 : 제목에이 이름이 포함 된 10 억 개의 중복이 아닙니다. 이것은 포인터와 매우 이상한 것들과 관련이 있습니다. ==
대신 우발적 인 =
이 아닙니다.홀수 위치의 "왼쪽 값 피연산자로 왼쪽 값이 필요함"- C++
나는 이라는 void*
인수가있는 C++ 함수가 있습니다. uint32_t*
에서
(char*)out=new char[*size];
size
:이 라인을 가지고있다. 컴파일러가 불평합니다 :
fundemental_bin_types.h:55:32: error: lvalue required as left operand of assignment
무엇이 잘못 되었습니까?
왜 여기에 캐스트 ('(char *)')가 필요하다고 생각합니까? –
'(char *)'? 'void *', POD를 포인터로 전달 하는가? '새로운 char []'? C++이 맞나요? – Johnsyweb
예. 그냥 아주 이상한 C++. 매우 이상한 C++. 이것은 함수 포인터에 의해 참조되어야하는 함수 집합의 일부입니다. 그들은 모든 종류의 데이터를 반환 할 수 있어야하지만, 호출자와 최종 호출자 만 유형을 알고 있습니다. 중간 코드 (내 메인 코드)는 타입이 무엇인지 알지 못하기 때문에'int'와'char's 같은 것을 void *로 전달해야합니다. – Linuxios