문제

이 경고는 동일한 선언으로 내 코드에서 여러 번 트리거됩니다.

// 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 불필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top