impossible d'accéder à private membre déclaré(e) dans la classe 'System::Windows::Forms::Control'
Salut,
J'ai construi un Dll qui contient un classe Pwint.
voila le code de Pwint:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| #include <iostream>
using namespace std;
class Pwint {
private :
double x,y,z;
public :
//constructeur de Point_cs
Pwint(double a,double b,double c);
//{x=a;y=b;z=c;}
Pwint(void);//{x=0;y=0;z=0;}
// Point(const Point& p);//{x= p.x;y=p.y ;z=p.z;}
// Point (void);
//accecesuurs des paramètres de Point
__declspec(dllexport) double getx(void);// {return(x);}
__declspec(dllexport) double gety(void) ;//{return(y);}
/*__declspec(dllexport)*/ double getz(void) ;//{return(z);}
void setx(double a) ;//{x=a;}
void sety(double a) ;//{y=a;}
void setz(double a) ;//{z=a;}
void affiche() ;
//{cout << "[" <<x<< " , " <<y<< " , " <<z<< "]" << endl;}
//~Point();//{};
}; |
et j'ai construit un autre méthode dans un autre classe de meme Dll qui s'appelle GetPoints
voila son déclaration dans le fichier .h
Code:
1 2 3 4 5 6
| __declspec(dllexport) std::vector<Pwint> GetPoints(void);[/quote]
et dans le fichier .cpp
[quote]std::vector<Pwint> CsvHandler::GetPoints()
{
return vec;
} |
Aprés la construction de ce dll, j'ai voulu l'utiliser dans un autre projet
Code:
1 2 3 4 5 6 7 8 9 10 11
| private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
std::vector<Pwint> vec;
double x;
//String ^s;
CsvHandler *Csv_Hand;
Csv_Hand=new CsvHandler("C:\\test1.csv",';');
Csv_Hand->ReadFile();
vec=Csv_Hand->GetPoints();
x=vec.at(0).getx();
} |
le message d'erreur suivant me parait
Citation:
1>c:\documents and settings\mouna\mes documents\visual studio 2005\projects\read\ihm\Form1.h(210) : error C2248: 'System::Windows::Forms::Control::x'*: impossible d'accéder à private membre déclaré(e) dans la classe 'System::Windows::Forms::Control'
1> c:\documents and settings\mouna\mes documents\visual studio 2005\projects\read\ihm\Form1.h(23)*: voir la déclaration de 'System::Windows::Forms::Control::x'
1> c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll*: voir la déclaration de 'System::Windows::Forms::Control'
1>c:\documents and settings\mouna\mes documents\visual studio 2005\projects\read\ihm\Form1.h(210) : error C2440: '='*: impossible de convertir de 'void' en 'int'
1> Les expressions de type void ne peuvent pas être converties en d'autres types