VS 경고 C4091을 제거하려면 어떻게해야합니까?
-
06-09-2019 - |
문제
이 경고는 동일한 선언으로 내 코드에서 여러 번 트리거됩니다.
// Spreadsheet structure
typedef struct SPREADSHEET
{
int ID; // ID of the spreadsheet
UINT nLines; // Number of lines
void CopyFrom(const SPREADSHEET* src)
{
ID = src->ID;
nLines = src->nLines;
}
};
그 경고를 끄고 싶지 않습니다.
그러나 경고가 나타나지 않도록 코드를 변경하십시오!
참고 : 여기서 변수를 선언하고 싶지 않으며 (헤더 파일입니다) 구조물 '스프레드 시트'가 포함되어야 할 사항을 정의합니다.
해결책
삭제 typedef
. 그것은 structs를 선언하는 C 방법입니다. C ++는 자동으로 수행합니다.
다른 팁
종료하기 전에 일부 식별자를 추가해야합니다 ;
, EG :
typedef struct BLAH { ... } BLAH;
그냥 제거하십시오 "typedef
". 당신은 새로운 구조물과 typedef
키워드는 사용되지 않습니다. 당신은 사용할 것입니다 typedef
다음과 같은 기존 유형의 새 이름을 정의하려면 다음과 같습니다.
typedef int number;
예, BLAH
~ 후에 닫는 브레이스는 typedef
유효한 것. 당신은 제거 할 수 있습니다 SPREADSHEET
현재 장소에서 }
그리고 ;
.
이 경고에 대한 나의 해석은 컴파일러가 typedef
변수가 선언되지 않기 때문에 키워드는 불필요합니다. 그러므로 코드의 의도가 단순히 struct
그만큼 typedef
불필요합니다.
제휴하지 않습니다 StackOverflow