Nice programing

오류 : 매개 변수에 지정된 스토리지 클래스

nicepro 2020. 11. 25. 21:13
반응형

오류 : 매개 변수에 지정된 스토리지 클래스


C 코드를 작성했습니다. 내가 헤더 파일에 다음 리눅스를 컴파일 할 때 다음과 같은 오류를 말합니다 : storage class specified for parameter i32 , i8등등

typedef int i32;

typedef char    i8;

어딘가 헤더 파일에서 세미콜론을 잊었을 가능성이 있습니다. 각 줄이;


어딘가에 오류 메시지의 전체 텍스트에 표시된 코드가 있으며 다음과 같은 작업을 수행합니다.

void function(static int foo)

static이 허용되지 않습니다. 또한 다른 스토리지 클래스가 될 수있는, 좋아하는 registerextern.


나는 같은 경험을했다. 문제는 함수 선언 끝에 세미 콜론이 누락 된 헤더 파일의 함수 프로토 타입 선언에서 발생했습니다.

함수는 컴파일 로그에서 오류 조각 바로 앞에 "In function ..."로 표시되었습니다.

도움이 되었기를 바랍니다!!


이 같은 오류가 한 번 발생했습니다. 해결책은 파일을 찾아보고 보류중인 문 (예 : 닫히지 않은 괄호 또는 누락 된 세미콜론)을 찾는 것이 었습니다. 일반적으로 이것은 사소한 오류이지만 컴파일러가 불평합니다.

나쁜 소식은 항상 올바른 행에서 (또는 올바른 파일에서) 불평하지 않는다는 것입니다. 좋은 소식은 이러한 경우 다음과 같은 유용한 내용을 말합니다.

WRONGFILE.h: In function ‘FUNCTION_OF_ANOTHER_FILE_WRT_WRONG_FILE’"
WRONGFILE:line:col: error: storage class specified for parameter ‘param’ before. 

보고 된 다른 파일을 확인하십시오.


vim 편집기를 사용하는 경우 다음을 입력하여 누락 된 세미콜론을 쉽게 찾을 수 있습니다.

/[^;]\s*$

... 문제가있는 줄을 찾을 때까지 (N / n 사용) 위로 / 아래로 점프합니다.


추가하려면 함수 포인터 선언에서 ;다른 경우가 누락 될 수 있습니다 ).

extern void init_callbacks(void (*init)(), void (*end());

(뒤에 닫는 괄호 누락 *end).


비슷한 문제가 있었지만 오류는 정적 할당에서 스토리지 클래스 이름이 누락되었습니다. 예 :

.h:
class MyClass {
   static const int something;
}

.cpp:
const int something = 1; // returns error
const int MyClass::something = 1; // OK

참고 URL : https://stackoverflow.com/questions/3676969/error-storage-class-specified-for-parameter

반응형