mode
다음 줄로 선언하는 variable이 있습니다 .
StatusRecord mode;
StatusRecord
는 struct
서로 다른 유형의 여러 변수를 보유합니다.
이제에 대한 포인터를 만들고 mode
해당 속성 / 필드를 채우는 함수를 사용하여 포인터를 일부 데이터로 채우고 싶습니다 . 나는 이것을 다음과 같이 시도했다.
StatusRecord mode;
StatusRecord *modePtr = &mode;
DataStore->getModeData(*modePtr);
여기에서는 struct
변수를 선언하고 포인터를 만들고 getModeData()
함수를 사용하여 해당 포인터를 채 웁니다. 그러나 이제 struct ptr
방금 조건문에 입력 한 속성을 사용하고 싶습니다 .
if(*modePtr->eraseSelect ==2){
...
}
하지만이 줄에서 다음과 같은 컴파일 오류가 발생합니다.
오류 : '*'의 피연산자는 포인터 여야합니다.
이것은 eraseSelect
속성이 'modePtr'과 마찬가지로 포인터 여야 함을 의미합니까 ? 이 오류를 어떻게 수정합니까?
여기서 포인터를 역 참조 할 필요가 없습니다.
if(modePtr->eraseSelect ==2){
...
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다