오류: C++에서는 Int를 역참조할 수 없습니다.

Olyu C Eseoneun Intleul Yeogchamjohal Su Eobs Seubnida



프로그래밍 언어를 사용하려면 라이브러리, 함수, 구문 및 기타 사항이 필요합니다. 따라서 코드에 오류가 포함될 가능성이 있습니다. C++ 프로그래밍에는 다양한 유형의 오류가 있습니다. 여기서는 'C++에서 int를 역참조할 수 없습니다' 오류에 대해 논의하겠습니다. 이 오류는 'int'가 기본 데이터 유형이기 때문에 정수 유형 데이터 'int'에 역참조 연산자 '*'를 활용하려고 할 때 발생합니다. C++ 프로그래밍에서는 'int'를 역참조할 수 없습니다. 여기서는 'C++에서 int를 역참조할 수 없습니다.' 오류에 대해 자세히 살펴보겠습니다. 이 가이드에는 이 오류가 어떻게 발생하는지 그리고 C++에서 이러한 유형의 오류를 처리하는 방법을 보여주는 일부 코드가 제공됩니다.

예제 1: Int 역참조







이 코드에서는 C++에서 'int'를 역참조해 보겠습니다. 이제 정의된 기능을 활용하기 위해 'iostream' 헤더 파일을 간단히 포함시킵니다. 그 아래에서는 '네임스페이스 std'를 활용하고 여기에서 'main()' 메서드를 호출합니다. 그런 다음 'int' 데이터 유형을 사용하여 'my_num' 변수를 선언하고 이 변수에 '99'를 할당합니다.



이제 'int' 데이터 유형의 'my_value'를 선언하고 '*my_num'으로 초기화합니다. 이는 'int' 데이터 유형인 'my_num' 변수를 역참조하려고 한다는 의미입니다. 'int'를 역참조할 수 없기 때문에 컴파일하는 동안 이 줄에서 오류가 생성됩니다. int를 역참조한 후 얻은 값을 표시하려고 하므로 'my_value' 변수를 추가한 'cout'을 배치합니다.



코드 1:





#include
네임스페이스 std 사용;
정수 메인 ( ) {
int my_num = 99 ;
int my_value = * 내_번호;
시합 << 'int 역참조를 통해 얻는 값은 다음과 같습니다.' << 내_값 << 끝;
반품 0 ;
}

산출:



여기서는 값이 표시되지 않고 단항 '*'의 잘못된 유형 인수가 있다는 오류가 발생한다는 것을 알 수 있습니다. 이는 C++에서 'int'를 역참조할 수 없음을 의미합니다.

해결 방법 1: 역참조하지 않음

여기서는 역참조 없이 정수 값을 직접 가져옵니다. 일부 함수 정의가 있으므로 'iostream' 헤더 파일을 가져옵니다. 그런 다음 'using' 키워드와 함께 'namespace std'를 입력한 다음 여기에서 'main()' 메서드를 호출합니다. 이제 'int' 데이터 유형의 'my_num' 변수를 '99' 값으로 초기화합니다.

그런 다음 'my_value'라는 이름으로 다른 변수를 초기화하고 정수를 포함하는 'my_num' 변수에 할당합니다. 그런 다음 'cout'에 'my_value'를 배치하여 역참조 없이 이 정수 값을 직접 얻습니다. 정수 값을 가져오고 표시합니다.

코드 1:

#include
네임스페이스 std 사용;
정수 메인 ( ) {
int my_num = 99 ;
int my_value = my_num;
시합 << 'int를 역참조하지 않고 얻는 값은 다음과 같습니다.' << 내_값 << 끝;
반품 0 ;
}

산출:

C++ 코드에서 역참조하지 않고 얻은 정수 값이 여기에 렌더링됩니다. 이 정수 값에 직접 액세스하여 표시합니다.

해결 방법 2: 포인터 역참조

'iostream' 헤더 파일에는 특정 기능 정의가 포함되어 있습니다. 우리는 그것들을 수입했습니다. 다음으로 여기서는 “namespace std”와 “using” 키워드를 입력한 후 “main()” 함수를 실행합니다. 'int' 데이터 유형의 'my_num' 변수는 이제 '99' 값으로 초기화됩니다.

그런 다음 'my_ptr' 포인터를 초기화하고 'my_num' 변수의 주소를 이 포인터에 할당합니다. 그 아래에서는 포인터를 역참조하고 '*my_ptr'로 'my_value'를 초기화했기 때문에 이를 통해 얻은 값을 'my_value' 변수에 할당합니다. 이제 포인터 역참조를 통해 얻은 정수 값을 표시하기 위해 'my_value' 변수를 전달하는 'cout'을 배치합니다.

코드 2:

#include
네임스페이스 std 사용;
정수 메인 ( ) {
int my_num = 99 ;
정수 * my_ptr = & 내_번호;
int my_value = * my_ptr;
시합 << '포인터를 역참조하여 얻는 int 값은 다음과 같습니다.' << 내_값 << 끝;
반품 0 ;
}

산출:

이제 코드에서 포인터를 역참조한 후 얻은 정수 값이 여기에 표시됩니다. 따라서 이것이 C++에서 역참조를 적용하는 올바른 방법입니다.

예제 2: Int 역참조

이 코드에서 C++의 'int'를 역참조해 보겠습니다. 'iostream'에 정의된 함수를 사용하려면 'iostream' 헤더 파일만 포함하면 됩니다. 여기서는 'namespace std'를 사용하고 'main()' 함수를 호출합니다. 다음으로 'a' 변수를 생성하고 '75' 값과 함께 'int' 데이터 유형을 지정합니다.

그 아래에 'newPointer'라는 포인터를 만들고 '&'를 사용하여 이 포인터에 'a' 변수의 주소를 할당합니다. 그런 다음 아래의 'num' 변수를 '*a'로 초기화합니다. 이는 'int' 데이터 유형인 'a' 변수를 역참조하려고 시도함을 나타냅니다. 'int'를 역참조할 수 없기 때문에 이제 컴파일하는 동안 이 줄에서 오류가 발생합니다. 그 다음에는 'num' 변수를 추가하는 'cout'도 활용합니다.

코드 2:

#include
네임스페이스 std 사용;
정수 메인 ( ) {
정수 a = 75 ;
정수 * 새로운 포인터 = & ㅏ;
정수 숫자 = * ㅏ;
시합 << 'int를 역참조하는 값은 다음과 같습니다.' << 하나에 << 끝;
반품 0 ;
}

산출:

여기서는 표시된 값이 없고 '유효하지 않은 단항 유형 매개변수'*'라는 오류 메시지가 나타나는 것을 볼 수 있습니다. 이는 C++에서 'int'를 역참조할 수 없음을 나타냅니다.

해결 방법 1: 역참조하지 않음

정수 값을 즉시 얻기 위해 역참조할 필요는 없습니다. 'iostream' 헤더 파일에 특정 함수 정의가 포함되어 있으므로 이를 가져옵니다. 그런 다음 'using' 및 'namespace std' 키워드가 입력된 후 'main()' 함수가 호출됩니다. 'int' 데이터 유형의 'a' 변수는 이제 '75' 값으로 초기화됩니다. 그런 다음 역참조 없이 즉시 이 정수 값을 얻기 위해 'a'를 'cout'에 삽입합니다. 정수 값을 검색하여 여기에 표시합니다.

코드 1:

#include
네임스페이스 std 사용;
정수 메인 ( ) {
정수 a = 75 ;
시합 << '역참조 없이 얻는 값은 다음과 같습니다.' << << 끝;
반품 0 ;
}

산출:

역참조 없이 C++ 코드에서 얻은 정수 값이 여기에 표시됩니다. 이 정수 값은 즉시 액세스 가능하며 여기에 표시됩니다.

해결 방법 2:

일부 함수 정의가 포함된 'iostream' 헤더 파일을 가져옵니다. 여기서는 “main()” 함수를 실행하기 전에 “namespace std”와 “using” 키워드를 입력합니다. '75'라는 값이 'a' 변수에 할당됩니다.

다음으로 'mypointer'라는 포인터를 선언하고 'a' 변수의 주소로 초기화합니다. 그 아래에서는 '*mypointer'로 'result'를 초기화하면서 포인터를 역참조하고 여기서 얻은 값을 'result' 변수에 할당합니다. 포인터를 역참조한 후 'cout' 명령을 배치하고 'result' 변수를 전달하여 정수 값을 표시합니다.

코드 2:

#include
네임스페이스 std 사용;
정수 메인 ( ) {
정수 a = 75 ;
정수 * 마이포인터 = & ㅏ;
정수 결과 = * 마이포인터;
시합 << '포인터 역참조를 통해 얻는 값은 다음과 같습니다.' << 결과 << 끝;
반품 0 ;
}

산출:

이는 C++에서 역참조를 적용하는 적절한 기술입니다. 'int'를 역참조하는 대신 포인터를 역참조한 후 얻은 정수 값을 렌더링합니다.

결론

C++에서 'int'를 역참조하여 값을 얻으려고 하면 'int를 갖는 단항 '*'의 잘못된 유형 매개변수' 오류가 발생하며 이는 'C++에서 int를 역참조할 수 없습니다'라는 뜻입니다. 또한 이 오류에 대한 해결책도 설명했습니다. 이 가이드에서는 오류가 발생한 코드와 해당 오류의 해결 방법을 제공한 코드를 사용했습니다.