Újjabb problémám van a C++-al kapcsolataban.
Eddig a Borland C++-át használtam. Figyelmeztettek, hogy az nem követi a szabványt, ezért gondok lehetnek vele.
Most szeretnék lefordítani egy, a Borland C++-ban figyelmeztetés nélkül leforduló programomat a GNU g++-ával, de nem megy.
Ezért leegyszerűsítettem annyira, hogy a program már semmit se csinálna, de a hibajelenséget produkálja:
-------------------------
data.h
#ifndef _DATA_H
#define _DATA_H
#include <string.h>
//using namespace std;
class data {
public:
std::string s; // vagy "string s;", ha a "using namespace std;" be van kapcsolva.
data();
data(const data& orig);
virtual ~data();
private:
};
#endif
-------------------------
data.cpp
#include "data.h"
data::data() {
}
data::data(const data& orig) {
}
data::~data() {
}
-------------------------
main.cpp
#include <stdlib.h>
#include "data.h"
int main(int argc, char** argv) {
data p;
p.s = "peoba";
cout << p.s << "\n";
return (EXIT_SUCCESS);
}
-------------------------
A GNU a következő hibaüzenetet adja:
In file included from data.cpp:2:
data.h:10: error: using-declaration for non-member at class scope
data.h:10: error: expected `;' before "s"
Hogyan lehet ezt úgy átírni, hogy GNU-val leforduljon?
|