728x90 C언어171 [C언어][Error] 038. conflicting types for ‘main’ – main 함수와 정의가 충돌함 이 오류는 main 함수에 대해 서로 다른 선언이 존재하여 타입 충돌이 발생했을 때 나타납니다. C언어에서는 main 함수는 특별한 함수로, 표준에 따라 정확한 형태로 정의되어야 하며, 여러 곳에서 서로 다른 방식으로 선언되면 컴파일러가 충돌을 인식하게 됩니다.보통 헤더 파일이나 다른 소스 파일에 main 함수에 대한 잘못된 선언이 존재하거나, 리턴 타입 또는 인자의 형태가 표준과 다를 경우에 발생합니다.● 오류 예제// header.hvoid main(); // 잘못된 선언// main.c#include "header.h"#include int main() { printf("Hello\n"); return 0;}컴파일러는 다음과 같은 오류 메시지를 출력합니다.error: conflictin.. 2025. 4. 27. [C언어][Error] 037. too few arguments to function – 함수 인자 수가 부족함 이 오류는 함수 호출 시 요구되는 매개변수보다 적은 수의 인자를 전달했을 때 발생합니다. C언어에서는 함수가 정의된 매개변수의 수만큼 인자를 모두 전달해야 하며, 일부라도 누락될 경우 컴파일러는 오류를 발생시킵니다.특히 함수 선언과 정의를 참조하지 않고 함수를 호출하거나, 인자의 수를 잘못 이해한 경우에 자주 나타납니다.● 오류 예제#include void print_sum(int a, int b) { printf("합계: %d\n", a + b);}int main() { print_sum(5); // 오류: 인자 1개 부족 return 0;}컴파일러는 다음과 같은 오류를 출력합니다.error: too few arguments to function ‘print_sum’● 해결 방법함수를.. 2025. 4. 27. [C언어][Error] 036. too many arguments to function – 함수 인자 수가 너무 많음 이 오류는 함수 호출 시 정의된 매개변수보다 많은 수의 인자를 전달했을 때 발생합니다. C언어에서는 함수 선언 또는 정의에 지정된 인자의 수와 호출 시 전달되는 인자의 수가 일치해야 하며, 초과된 인자는 무시되지 않고 컴파일 오류로 이어집니다.실수로 인자를 추가로 전달하거나 함수 정의를 잘못 이해하고 사용하는 경우 자주 발생합니다.● 오류 예제#include void greet(const char* name) { printf("Hello, %s!\n", name);}int main() { greet("Alice", "Bob"); // 오류: 인자 1개만 허용 return 0;}위 코드에서 greet 함수는 인자를 1개 받도록 정의되어 있으나, 호출 시 2개의 인자를 전달했기 때문에 오류.. 2025. 4. 27. [C언어][Error] 035. struct has no member with given name – 구조체에 존재하지 않는 멤버 접근 이 오류는 정의된 구조체에 존재하지 않는 멤버를 접근하려 할 때 발생합니다. 구조체 내부에 선언되어 있지 않은 필드명을 잘못 참조하면, 컴파일러는 해당 멤버를 찾을 수 없어 오류를 발생시킵니다.주로 오타, 멤버 이름 변경 후 반영 누락, 또는 다른 구조체와 혼동했을 때 자주 발생합니다.● 오류 예제#include struct Person { int age;};int main() { struct Person p; p.name = 30; // 오류: name이라는 멤버 없음 return 0;}컴파일러는 구조체 Person에 name이라는 멤버가 없기 때문에 다음과 같은 오류 메시지를 출력합니다.error: ‘struct Person’ has no member named ‘name’● .. 2025. 4. 27. [C언어][Error] 034. continue statement not within a loop – continue 문이 반복문 외부에 있음 이 오류는 continue 문이 반복문(for, while, do-while) 외부에서 사용되었을 때 발생합니다. C언어에서 continue는 반복문 내부에서 다음 반복으로 넘어가기 위해 사용하는 제어문이므로, 루프 밖에서는 사용할 수 없습니다.보통 if 문 안이나 일반 코드 블록에서 실수로 continue를 사용했을 때 이 오류가 발생합니다.● 오류 예제#include int main() { int x = 1; if (x == 1) { continue; // 오류: 반복문 외부에서 continue 사용 } return 0;}컴파일 시 다음과 같은 오류가 출력됩니다.error: continue statement not within a loop● 해결 방법continue.. 2025. 4. 27. [C언어][Error] 033. break statement not within loop or switch – break 문이 반복문 또는 switch문 외부에 있음 이 오류는 break 문이 for, while, do-while 또는 switch 문과 같은 제어문 블록 외부에서 사용되었을 때 발생합니다. C언어에서 break는 루프 또는 switch 블록을 빠져나가기 위한 제어 흐름 명령이므로, 이와 무관한 위치에서는 사용할 수 없습니다.주로 if 문이나 일반 블록 내에서 break를 실수로 사용했을 때 발생합니다.● 오류 예제#include int main() { int x = 1; if (x == 1) { break; // 오류: if 문 안에서 break 사용 } return 0;}컴파일 시 다음과 같은 오류 메시지가 출력됩니다.error: break statement not within loop or switch● 해결 방.. 2025. 4. 27. 이전 1 ··· 9 10 11 12 13 14 15 ··· 29 다음 728x90