반응형
빈 선언에 있는 쓸모없는 클래스 저장 지정자
gcc 4.4.1 c89
다음 코드가 있습니다.
static enum states
{
ACTIVE,
RUNNING,
STOPPED,
IDLE
};
그리고 경고를 받습니다.
useless class storage specifier in empty declaration
하지만 정적 키워드를 제거하면 해당 경고를 받지 않습니다.
저는 다음과 같은 플래그를 사용하여 컴파일하고 있습니다.
-Wall -Wextra
어떤 제안이든 감사히 받겠습니다
실제로 선언하는 것이 아니라 무언가를 정의하는 것, 즉 "상태"라는 이름의 열거형을 정의하는 것이기 때문에 메시지를 받는 것입니다.나중에 이 정의를 사용하여 해당 유형의 변수를 선언할 수 있습니다.해당 변수는 정적 변수 또는 인스턴스 변수일 수 있지만, 정의에 스토리지 지정자가 연결되어 있을 필요는 없으며 따라서도 안 됩니다.
당신의.enum
선언은 유형을 정의하고 있지만 해당 유형의 개체도 선언하고 있지 않습니다.
static
오직 변수와 함수에만 적용되므로 컴파일러가 말하는 것처럼, 당신이 그것을 가지고 있는 상황에서는 쓸모가 없습니다.
정전기가 어떻게 했으면 좋겠습니까?여기서 선언 내부 연결에 정의된 변수를 제공하는 역할을 합니다.
static enum states { ... } a;
을 위한 지름길로
enum states { ... };
static enum states a;
"a" 내부 연결을 제공합니다.그러나 코드에 변수를 정의하지 않기 때문에 실제로는 (불법이 아니라면) 아무 소용이 없습니다.
시도:
static enum states
{
ACTIVE,
RUNNING,
STOPPED,
IDLE
} avar;
실제로 var라는 정적 변수를 생성합니다.변수만 정적일 수 있고 유형은 사용할 수 없습니다.
언급URL : https://stackoverflow.com/questions/2743949/useless-class-storage-specifier-in-empty-declaration
반응형
'prosource' 카테고리의 다른 글
Angular에서 polyfiles.ts 파일의 용도는 무엇입니까? (0) | 2023.09.15 |
---|---|
CSS에서 색상을 변수로 정의하려면 어떻게 해야 합니까? (0) | 2023.09.15 |
마이크로소프트 SQL 서버 관리를 사용하여 테이블 복제 (0) | 2023.09.15 |
구글 크롬, 위지위그 자바스크립트 탈출 (0) | 2023.09.15 |
'@-Keyframe' CSS 애니메이션을 동적으로 만드는 방법은? (0) | 2023.09.15 |