에러 모음

오류정보// 공용체에는 하나의 초기값만 사용할 수 있습니다.

라이피 (Lypi) 2021. 6. 16. 15:00
반응형


E0266/ '~'가 모호합니다.

reference to ‘~’ is ambiguous.

ⅰ. 상황

■ 식별자를 지정하고 사용하려 할 때 발생했다

 

ⅱ. 원인

■ 겹치는 범위 안에 같은 이름의 식별자가 이미 존재할 때 발생한다.

■ namespace를 전역으로 사용하려 할 때 발생하는 경우가 있다.

ⅲ. 해결책

■ "std" namespace 안에는 생각보다 많은 식별자가 정의되어 있으니 std를 전역으로 선언하지 않는다.

■ 또는 애매한 기호의 이름을 변경한다.

 


ⅳ. 오류가 발생한 코드

■ "std" namespace 안에 data라는 식별자가 사용되고 있어서 발생했다.

#include <iostream>
using namespace std;

struct data{
    char origin;
};

int main(void){  
    data t;

    cin >> t.origin;
    cout << t.origin;
    
    return 0;
}

 

ⅴ. 오류를 해결한 코드

■ "std" namespace에 대한 전역선언을 해제했다.

#include <iostream>

struct data{
    char origin;
};

int main(void){  
    data t;

    std::cin >> t.origin;
    std::cout << t.origin;
    
    return 0;
}

■ 구조체의 이름을 다른 것으로 변경했다.

#include <iostream>
using namespace std;

struct d{
    char origin;
};

int main(void){  
    d t;

    cin >> t.origin;
    cout << t.origin;
    
    return 0;
}

반응형