C
C__chp
Can anyone help me with the following problem
When i compile a program which is devided in three files and i compile
with GCC i'm getting the follwong error
However when i put it in one file it conpiles and runs perfectly
So it has probaly something to do with the includes , but i do not see
what
Many regards
Nico Heiligers
**** Build of configuration Debug for project acc ****
**** Internal Builder is used for build ****
g++ -O0 -g3 -Wall -c -fmessage-length=0 -oreadadfile.o ..
\readadfile.cpp
In file included from ..\readadfile.cpp:1:
...\adfile.h:12: error: ISO C++ forbids declaration of `vector' with no
type
...\adfile.h:12: error: expected `;' before '<' token
...\adfile.h:14: error: `string' does not name a type
...\readadfile.cpp:5: error: expected initializer before "Adfile"
...\readadfile.cpp:6: error: expected constructor, destructor, or type
conversion before '.' token
...\readadfile.cpp:7: error: expected constructor, destructor, or type
conversion before '.' token
...\readadfile.cpp:8: error: expected declaration before '}' token
Build error occurred, build is stopped
Time consumed: 172 ms.
these are the files
h file for class decalration adfile.h
#ifndef ADFILE_H_
#define ADFILE_H_
class Adfile
{
public:
Adfile(char*);
~Adfile();
void readFile(void);
void displayFile(void) const;
private:
vector<string> v;
char* filename;
string line;
};
#endif /*ADFILE_H_*/
the compiler is marking an error at lines
vector<string> v;
and
string line
===============================
implementation cpp file: adfile.cpp
#include "adfile.h"
#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
Adfile::Adfile(char* str)
{
filename = str;
}
Adfile::~Adfile()
{
}
void Adfile::readFile(void)
{
ifstream in(filename);
while(getline(in, line))
v.push_back(line);
}
void Adfile::displayFile(void) const
{
for(unsigned int i = 0; i < v.size(); i++)
cout << i << ": " << v << endl;
}
main program file:
#include "adfile.h"
int main(void)
{
Adfile adfile("Fillvector.cpp");
adfile.readFile();
adfile.displayFile();
} ///:~
==========================================
When i compile a program which is devided in three files and i compile
with GCC i'm getting the follwong error
However when i put it in one file it conpiles and runs perfectly
So it has probaly something to do with the includes , but i do not see
what
Many regards
Nico Heiligers
**** Build of configuration Debug for project acc ****
**** Internal Builder is used for build ****
g++ -O0 -g3 -Wall -c -fmessage-length=0 -oreadadfile.o ..
\readadfile.cpp
In file included from ..\readadfile.cpp:1:
...\adfile.h:12: error: ISO C++ forbids declaration of `vector' with no
type
...\adfile.h:12: error: expected `;' before '<' token
...\adfile.h:14: error: `string' does not name a type
...\readadfile.cpp:5: error: expected initializer before "Adfile"
...\readadfile.cpp:6: error: expected constructor, destructor, or type
conversion before '.' token
...\readadfile.cpp:7: error: expected constructor, destructor, or type
conversion before '.' token
...\readadfile.cpp:8: error: expected declaration before '}' token
Build error occurred, build is stopped
Time consumed: 172 ms.
these are the files
h file for class decalration adfile.h
#ifndef ADFILE_H_
#define ADFILE_H_
class Adfile
{
public:
Adfile(char*);
~Adfile();
void readFile(void);
void displayFile(void) const;
private:
vector<string> v;
char* filename;
string line;
};
#endif /*ADFILE_H_*/
the compiler is marking an error at lines
vector<string> v;
and
string line
===============================
implementation cpp file: adfile.cpp
#include "adfile.h"
#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
Adfile::Adfile(char* str)
{
filename = str;
}
Adfile::~Adfile()
{
}
void Adfile::readFile(void)
{
ifstream in(filename);
while(getline(in, line))
v.push_back(line);
}
void Adfile::displayFile(void) const
{
for(unsigned int i = 0; i < v.size(); i++)
cout << i << ": " << v << endl;
}
main program file:
#include "adfile.h"
int main(void)
{
Adfile adfile("Fillvector.cpp");
adfile.readFile();
adfile.displayFile();
} ///:~
==========================================