[C++] 일치하는 함수 없음 - ifstream open ()



Answers

Question

다음은 오류가있는 코드의 일부입니다.

std::vector<int> loadNumbersFromFile(std::string name)
{
    std::vector<int> numbers;

    std::ifstream file;
    file.open(name); // the error is here
    if(!file) {
        std::cout << "\nError\n\n";
        exit(EXIT_FAILURE);
    }

    int current;
    while(file >> current) {
        numbers.push_back(current);
        file.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
    }
    return numbers;
}

그리고 글쎄, 나는 어떤 일이 벌어지고 있는지 전혀 모른다. VS에서 모든 것이 올바르게 컴파일됩니다. 그러나 나는 이것을 dev cpp와 함께 컴파일해야한다.

나는 위의 코드에서 에러를 던지는 라인을 주석 처리했다. 오류는 다음과 같습니다.

호출에 일치하는 함수 없음 'std :: basic_ifstream :: open (std :: string &)
호출에 일치하는 함수 없음 'std :: basic_ofstream :: open (std :: string &)

코드의 다른 부분에서 iostream 클래스에 존재하지만 모든 것이 VS에서 작동하지만 'numeric_limits는 std의 멤버가 아닙니다'또는 'max ()가 선언되지 않았습니다'와 같은 오류가 발생합니다.

이 오류가 발생하는 이유는 무엇입니까?




Links