no puedo deshacerme de estos errores ... tengo punto y coma en todas partes que revisé ... el código es simple: el error me lleva a la definición "nombre de cadena" en article.h ...error C2146: error de sintaxis: falta ';' antes del identificador
main.cpp
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
#include "article.h"
int main()
{
string si;
char article[128];
vector<Article> articles;
ifstream file;
file.open("input.txt",ifstream::in);
while(!file.eof())
{
file.getline(article,128);
articles.push_back(Article(article));
}
file.close();
while(1);
return(1);
}
article.h:
#ifndef Article_H
#define Article_H
class Article
{
public:
int year;
string name;
Article(char *i_name);
};
#endif
¿Cómo la compila? –
Compila bajo OSX, entonces necesitamos más información – Mark
Parece que debería funcionar para mí, y funciona en GCC. 'usar namespace std;' antes de incluir un archivo es el motivo por el que suceden las guerras, y deberías avergonzarte ;-) Pero aparte de eso, está bien. ¿Podría ser que esté buscando el archivo fuente incorrecto y hay algún otro archivo fuente que incluya article.h sin hacer que 'string' sea un tipo válido? –