J'ai ce code simple:Pourquoi je reçois cette erreur dans le code C++
std::ifstream ifs;
ifs.open ("test.txt", std::ifstream::in);
char c = ifs.get();
while (ifs.good()) {
std::cout << c;
c = ifs.get();
}
ifs.close();
Mais je reçois beaucoup d'erreur? tels que:
Error 9 error C3083: 'ifstream': the symbol to the left of a '::' must be a type test.cpp
Error 8 error C2228: left of '.open' must have class/struct/union test.cpp
et ainsi de suite.
J'ai ces définitions au début du fichier
#include <iostream>
#include <fstream>
#include "stdafx.h"
using namespace std;
J'utilise VS2012 sur une application de la console.
edit1:
Le code complet est comme suit:
void ReadRawImages::Read(int frameNumber)
{
std::ifstream ifs;
ifs.open ("test.txt", std::ifstream::in);
char c = ifs.get();
while (ifs.good()) {
std::cout << c;
c = ifs.get();
}
ifs.close();
}
Je note également que j'ai ces avertissements:
Warning 1 warning C4627: '#include <iostream>': skipped when looking for precompiled header use test.cpp
Warning 2 warning C4627: '#include <fstream>': skipped when looking for precompiled header use test.cpp
Pouvez-vous poster le code immédiatement avant 'std :: ifstream ifs;'? Vous avez peut-être manqué un point-virgule quelque part plus tôt. –
fossé la ligne "using namespace std" que vous utilisez std :: globalement – Bathsheba
[Votre code fonctionne bien] (http://eval.in/31344). Avez-vous enveloppé ce code dans une fonction? –