error: expected ';', ',' or')'before'&'token 해결 방법
872 단어 C 프로그래밍 언어
소스 코드는 다음과 같습니다.
#include
int exchg(int &x,int &y){
int tmp=x;
x=y;
y=tmp;
printf("x=%d,y=%d",x,y);
return 0;
}
void main(){
int a=6,b=4;
printf("a=%d,b=%d",a,b);
exchg(a,b);
printf("a=%d,b=%d",a,b);
}
왜 컴파일할 때'error:expected',','or')'before'&'token'이라는 잘못된 힌트는 많은 학우들이 이 점에서 이해할 수 없다. 분명히 문법적으로 틀린 것이 없는데, 왜?
사실 이것이 바로 C언어의 지식점입니다.
C 언어에서는 인용이 존재하지 않습니다. 즉, C 언어에서 & 는 인용이 아니라 주소 문자를 나타냅니다.그래서 컴파일러의 오류 알림은 & 여기서 이렇게 사용할 수 없음을 나타냅니다. 이 문제를 어떻게 해결합니까?
1. 일반적인 해결 방법: 인용을 바늘로 대체하고 주 함수에서 주소를 전송한다.
2. 코드 확장자를 저장합니다.cpp 파일
왜?
우리는 c가 인용 전달을 모른다고 생각할 수 있지만, c++는 인용 전달을 지원합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
printf, sscanf 16진 데이터 변환 문제문제1: 원래 프로그램의 목적은 문자열 형식의 맥 주소를char형 수조에 저장하는 것이다(더 좋은 획득 방법이 있으면 메시지를 남겨주시면 고맙습니다). 코드는 다음과 같다. 맥이 다음 코드를 실행한 후 변수 int형...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.