반응형
오류: 함수에 대한 이전 프로토타입이 없습니다.이 오류가 발생하는 이유는 무엇입니까?
스크린.
#ifndef screen_h
#define screen_h
#define MAC 1
#define WIN 2
#define LNX 3
#ifdef PLATFORM
# undef PLATFORM
#endif
#define PLATFORM MAC
void screen_init();
#endif
screen.c
#include <string.h>
#include <stdlib.h>
#include "screen.h"
#if PLATFORM == MAC
#include <curses.h>
void screen_init(){
erase();
}
#endif
왜 화면에 내 프로토타입이 표시되지 않는지 이해할 수 없습니다.
제안/힌트를 보내주시면 감사하겠습니다!
ISO/IEC 9899:TC2 - 6.2.1.2:
함수 프로토타입은 매개 변수의 유형을 선언하는 함수의 선언입니다.
함수 선언의 빈 인수 목록은 매개 변수의 수와 유형을 알 수 없음을 나타냅니다.다음을 사용하여 함수가 인수를 사용하지 않음을 명시적으로 표시해야 합니다.void
키워드그렇지 않으면 함수 선언이 유효한 프로토타입으로 계산되지 않습니다.
void screen_init(void);
저는 몇 분 전에 이와 유사한 오류를 만났습니다.헤드 파일에 관련 함수 선언을 추가한 후 오류가 사라졌습니다.
또한 컴파일 옵션 '-Wmissing-prototype'을 취소하는 것이 효과가 있을 것이라는 의견도 있었지만, 저는 그런 시도를 하지 않았습니다.행운을 빌어요.
저는 오늘 이 문제를 겪었습니다.
내부적으로 방금 사용된 함수를 정의했습니다.
void func(void) {
}
int main(void) {
func();
}
이것은 저에게 그 경고를 줄 것입니다.저는 경고를 없애기 위해 파일의 시작 부분에 프로토타입을 추가해야 했습니다.
void func(void);
void func(void) {
}
int main(void) {
func();
}
언급URL : https://stackoverflow.com/questions/9541768/error-no-previous-prototype-for-function-why-am-i-getting-this-error
반응형
'programing' 카테고리의 다른 글
R 내에서 Excel 시트 범위를 사진으로 내보내는 방법 (0) | 2023.08.26 |
---|---|
canvas.toDataURL()을 사용하여 canvas를 이미지로 저장하는 방법? (0) | 2023.08.26 |
숫자가 10진수인지 확인합니다. (0) | 2023.08.26 |
JDBC(mariaDB)를 통해 선택한 행의 기본 키 값을 검색하는 방법 (0) | 2023.08.26 |
자바스크립트(jquery)가 있는 정수 값을 문자열을 반환하는 값에 추가하려면 어떻게 해야 합니까? (0) | 2023.08.26 |