백엔드 개발 C++ C++ 코드의 '오류: '데이터 유형' 앞에 기본 표현식이 필요합니다' 문제 해결

C++ 코드의 '오류: '데이터 유형' 앞에 기본 표현식이 필요합니다' 문제 해결

Aug 26, 2023 pm 10:52 PM
c++ 암호 실수

解决C++代码中出现的“error: expected primary-expression before 'datatype'”问题

C++ 코드에서 "오류: '데이터 유형' 앞에 기본 표현식이 필요합니다" 문제를 해결하세요

C++ 코드를 작성할 때 "오류: '데이터 유형' 앞에 기본 표현식이 필요합니다"라는 오류 메시지가 나타나는 경우가 있습니다. 이 오류는 일반적으로 올바른 구문 규칙을 따르지 않고 변수나 함수 이름을 사용할 때 발생합니다. 이 문서에서는 이 오류의 원인을 설명하고 몇 가지 해결 방법을 제공합니다.

먼저 이 오류를 더 잘 이해하기 위해 코드 예제를 살펴보겠습니다.

#include <iostream>

int main() {
    int x = 5;
    std::cout << x + std::endl;  // error: expected primary-expression before 'endl'
    return 0;
}
로그인 후 복사

이 예에서는 변수 x의 값과 std::endl의 결과를 출력하려고 합니다. 그러나 컴파일러는 "오류: 'endl' 앞에 기본 표현식이 필요합니다"라는 오류 메시지를 표시합니다. x 的值加上 std::endl 的结果。然而,编译器会报错并给出以下错误消息:“error: expected primary-expression before 'endl'”。

我们可以清楚地看到,这个错误是由于我们在输出语句中没有遵循正确的语法而引起的。

该错误的原因有如下几种:

  1. 忘记包含必要的头文件:error: expected primary-expression before 'datatype'

在C++中,我们需要包含相应的头文件才能使用一些特定的数据类型和函数。如果我们忘记包含所需的头文件,编译器将无法识别特定的数据类型和函数,从而导致该错误的出现。

#include <iostream>

int main() {
    string name = "John";  // error: expected primary-expression before 'string'
    std::cout << name << std::endl;
    return 0;
}
로그인 후 복사

在这个示例中,我们忘记了包含 头文件,所以编译器无法识别 string 类型,并报错:“error: expected primary-expression before 'string'”。

解决这个问题的方法是在代码中包含所需的头文件。

#include <iostream>
#include <string>

int main() {
    std::string name = "John";
    std::cout << name << std::endl;
    return 0;
}
로그인 후 복사

在修改之后,代码将能够正确编译和执行。

  1. 使用未定义的变量或函数名称:error: expected primary-expression before 'datatype'

在C++中,当我们使用变量或函数名称时,必须确保它们已经在代码中定义过。如果我们使用一个未定义的变量或函数名称,编译器将无法识别它,并报错:“error: expected primary-expression before 'datatype'”。

#include <iostream>

int main() {
    int x = 5;
    std::cout << y << std::endl;  // error: 'y' was not declared in this scope
    return 0;
}
로그인 후 복사

在这个示例中,我们尝试输出变量 y 的值。然而,变量 y

이 오류는 출력 문의 올바른 구문을 따르지 않았기 때문에 발생했음을 분명히 알 수 있습니다.

이 오류의 원인은 다음과 같습니다:

  1. 필요한 헤더 파일을 포함하는 것을 잊었습니다: 오류: '데이터 유형' 앞에 기본 표현식이 필요합니다

C++에서는 특정 데이터 유형과 기능을 사용하려면 해당 헤더 파일을 포함해야 합니다. 필수 헤더 파일을 포함하는 것을 잊어버리면 컴파일러가 특정 데이터 유형과 함수를 인식하지 못하여 이 오류가 발생합니다.

#include <iostream>

int main() {
    int x = 5;
    int y = 10;
    std::cout << y << std::endl;
    return 0;
}
로그인 후 복사
이 예에서는 헤더 파일을 포함하는 것을 잊었으므로 컴파일러가 string 유형을 인식하지 못하고 다음 오류를 보고했습니다. '오류: 'string' 앞에 기본 표현식이 필요합니다. '".

이 문제에 대한 해결책은 코드에 필수 헤더 파일을 포함시키는 것입니다. 🎜rrreee🎜수정 후에는 코드가 올바르게 컴파일되고 실행될 수 있습니다. 🎜
  1. 정의되지 않은 변수 또는 함수 이름 사용: 오류: '데이터 유형' 앞에 기본 표현식이 필요합니다
🎜in C++, 경우 변수나 함수 이름을 사용하는 경우 해당 이름이 코드에 정의되어 있는지 확인해야 합니다. 정의되지 않은 변수나 함수 이름을 사용하는 경우 컴파일러는 이를 인식하지 못하고 "오류: '데이터 유형' 앞에 기본 표현식이 필요합니다."라는 오류를 보고합니다. 🎜rrreee🎜이 예에서는 y 변수의 값을 출력하려고 합니다. 그러나 y 변수는 코드에 정의되어 있지 않으므로 컴파일러가 이를 인식할 수 없으며 "오류: 'y'는 이 범위에서 선언되지 않았습니다."라는 오류를 보고합니다. 🎜🎜이 문제를 해결하는 방법은 사용된 변수나 함수 이름이 코드에 이미 정의되어 있는지 확인하는 것입니다. 🎜rrreee🎜수정 후에는 코드가 올바르게 컴파일되고 실행됩니다. 🎜🎜요약하자면, C++ 코드에서 "오류: '데이터 유형' 앞에 기본 표현식이 필요합니다."라는 오류 메시지가 나타나면 누락되었을 수 있는 헤더 파일을 확인하고 사용된 변수 또는 함수 이름이 코드. 올바른 구문 규칙을 따르면 이 문제를 해결하여 코드가 올바르게 컴파일되고 실행될 수 있습니다. 🎜🎜이 기사가 이 문제를 해결하는 데 도움이 되기를 바랍니다! 🎜

위 내용은 C++ 코드의 '오류: '데이터 유형' 앞에 기본 표현식이 필요합니다' 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Windows 업데이트 프롬프트 오류 0x8024401c 오류에 대한 해결 방법 Windows 업데이트 프롬프트 오류 0x8024401c 오류에 대한 해결 방법 Jun 08, 2024 pm 12:18 PM

목차 해결 방법 1 해결 방법 21. Windows 업데이트의 임시 파일 삭제 2. 손상된 시스템 파일 복구 3. 레지스트리 항목 보기 및 수정 4. 네트워크 카드 IPv6 끄기 5. WindowsUpdateTroubleshooter 도구를 실행하여 복구 6. 방화벽 끄기 및 기타 관련 바이러스 백신 소프트웨어. 7. WidowsUpdate 서비스를 닫습니다. 해결 방법 3 해결 방법 4 Huawei 컴퓨터에서 Windows 업데이트 중 "0x8024401c" 오류가 발생함 증상 문제 원인 해결 방법 아직도 해결되지 않았습니까? 최근 시스템 취약점으로 인해 웹 서버를 업데이트해야 하는데, 서버에 로그인하면 업데이트 시 오류 코드 0x8024401c가 표시됩니다.

C++ 객체 레이아웃은 메모리에 맞춰 정렬되어 메모리 사용 효율성을 최적화합니다. C++ 객체 레이아웃은 메모리에 맞춰 정렬되어 메모리 사용 효율성을 최적화합니다. Jun 05, 2024 pm 01:02 PM

C++ 개체 레이아웃 및 메모리 정렬은 메모리 사용 효율성을 최적화합니다. 개체 레이아웃: 데이터 멤버가 선언된 순서대로 저장되어 공간 활용을 최적화합니다. 메모리 정렬: 액세스 속도를 향상시키기 위해 데이터를 메모리에 정렬합니다. alignas 키워드는 캐시 라인 액세스 효율성을 향상시키기 위해 64바이트 정렬된 CacheLine 구조와 같은 사용자 정의 정렬을 지정합니다.

C++ STL에서 사용자 정의 비교기를 구현하는 방법은 무엇입니까? C++ STL에서 사용자 정의 비교기를 구현하는 방법은 무엇입니까? Jun 05, 2024 am 11:50 AM

사용자 정의 비교기를 구현하려면 두 개의 매개변수를 허용하고 비교 결과를 나타내는 Operator()를 오버로드하는 클래스를 생성하면 됩니다. 예를 들어, StringLengthComparator 클래스는 길이를 비교하여 문자열을 정렬합니다. 클래스를 만들고 연산자()를 오버로드하여 비교 결과를 나타내는 부울 값을 반환합니다. 컨테이너 알고리즘 정렬을 위해 사용자 정의 비교기를 사용합니다. 사용자 정의 비교기를 사용하면 사용자 정의 비교 기준을 사용해야 하는 경우에도 사용자 정의 기준에 따라 데이터를 정렬하거나 비교할 수 있습니다.

C++에서 전략 디자인 패턴을 구현하는 방법은 무엇입니까? C++에서 전략 디자인 패턴을 구현하는 방법은 무엇입니까? Jun 06, 2024 pm 04:16 PM

C++에서 전략 패턴을 구현하는 단계는 다음과 같습니다. 전략 인터페이스를 정의하고 실행해야 하는 메서드를 선언합니다. 특정 전략 클래스를 생성하고 각각 인터페이스를 구현하며 다양한 알고리즘을 제공합니다. 컨텍스트 클래스를 사용하여 구체적인 전략 클래스에 대한 참조를 보유하고 이를 통해 작업을 수행합니다.

Golang과 C++의 유사점과 차이점 Golang과 C++의 유사점과 차이점 Jun 05, 2024 pm 06:12 PM

Golang과 C++는 각각 가비지 수집 및 수동 메모리 관리 프로그래밍 언어로, 구문과 유형 시스템이 다릅니다. Golang은 Goroutine을 통해 동시 프로그래밍을 구현하고, C++는 스레드를 통해 이를 구현합니다. Golang 메모리 관리는 간단하고 C++는 더 강력한 성능을 제공합니다. 실제적인 경우 Golang 코드는 더 간결하며 C++는 확실한 성능 이점을 제공합니다.

칭화대학교와 Zhipu AI 오픈 소스 GLM-4: 자연어 처리의 새로운 혁명 시작 칭화대학교와 Zhipu AI 오픈 소스 GLM-4: 자연어 처리의 새로운 혁명 시작 Jun 12, 2024 pm 08:38 PM

2023년 3월 14일 ChatGLM-6B가 출시된 이후 GLM 시리즈 모델은 광범위한 관심과 인정을 받았습니다. 특히 ChatGLM3-6B가 오픈소스로 공개된 이후 개발자들은 Zhipu AI가 출시하는 4세대 모델에 대한 기대감이 가득합니다. 이러한 기대는 마침내 GLM-4-9B의 출시로 완전히 충족되었습니다. GLM-4-9B의 탄생 소형 모델(10B 이하)에 더욱 강력한 기능을 제공하기 위해 GLM 기술팀은 약 반년 만에 새로운 4세대 GLM 시리즈 오픈 소스 모델인 GLM-4-9B를 출시했습니다. 탐구. 이 모델은 정확성을 보장하면서 모델 크기를 크게 압축하고 추론 속도가 더 빠르고 효율성이 높습니다. GLM 기술팀의 탐색은 아직 이루어지지 않았습니다.

C++ STL 컨테이너를 복사하는 방법은 무엇입니까? C++ STL 컨테이너를 복사하는 방법은 무엇입니까? Jun 05, 2024 am 11:51 AM

C++ STL 컨테이너를 복사하는 방법에는 세 가지가 있습니다. 복사 생성자를 사용하여 컨테이너의 내용을 새 컨테이너에 복사합니다. 할당 연산자를 사용하여 컨테이너의 내용을 대상 컨테이너에 복사합니다. std::copy 알고리즘을 사용하여 컨테이너의 요소를 복사합니다.

C++ 스마트 포인터의 기본 구현 원칙은 무엇입니까? C++ 스마트 포인터의 기본 구현 원칙은 무엇입니까? Jun 05, 2024 pm 01:17 PM

C++ 스마트 포인터는 포인터 계산, 소멸자 및 가상 함수 테이블을 통해 자동 메모리 관리를 구현합니다. 포인터 수는 참조 수를 추적하고 참조 수가 0으로 떨어지면 소멸자는 원래 포인터를 해제합니다. 가상 함수 테이블은 다형성을 가능하게 하여 다양한 유형의 스마트 포인터에 대해 특정 동작을 구현할 수 있도록 합니다.

See all articles