View Single Post
  #15  
Old 03-15-2010, 07:29
tulip tulip is offline
Member
 
Join Date: Mar 2006
Posts: 142
Activity: 0%
Longevity: 99%
Default

Ú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?
Reply With Quote