Da ich unter den Suchbegriffen "vector" und "C2664" nichts
gefunden habe, hier meine Frage:
Leider habe ich ein Problem mit einem vector einer Klasse
in einer Windows-Forms-Anwendung:
In name.h steht
// Fuer Speicherung einer Variablen und deren Wert
public ref class Vari
{ public:
String^ name;
double value;
Vari(String^ n, double v) : name(n), value(v) {}
};
In Form1.h steht
. . .
#include <cliext/vector>
namespace TaRech_w
{
include "name.h"
. . .
using namespace cliext;
public ref class Form1 : public System::Windows::Forms::Form
{
cliext::vector<Vari> tabelle;
. . .
double define_name(String^ var, double val)
{ tabelle.push_back(Vari(var, val);
return val;
}
};
}
push_back liefert folgenden Fehler:
error C2664: cannot convert parameter 1 from TaRech_w::Vari to TaRech_w::Vari^
Vari x(var, val); tabelle.push_back(x); half auch nicht.
Wenn ich statt des Vectors ein Array verwende, erhalte ich denselben Fehler.
Ich verwende Visual Studio 2008. Übersetzt wurde mit /clr
Was ist da zu tun? Vielen Dank für die Mühe.
gefunden habe, hier meine Frage:
Leider habe ich ein Problem mit einem vector einer Klasse
in einer Windows-Forms-Anwendung:
In name.h steht
// Fuer Speicherung einer Variablen und deren Wert
public ref class Vari
{ public:
String^ name;
double value;
Vari(String^ n, double v) : name(n), value(v) {}
};
In Form1.h steht
. . .
#include <cliext/vector>
namespace TaRech_w
{
include "name.h"
. . .
using namespace cliext;
public ref class Form1 : public System::Windows::Forms::Form
{
cliext::vector<Vari> tabelle;
. . .
double define_name(String^ var, double val)
{ tabelle.push_back(Vari(var, val);
return val;
}
};
}
push_back liefert folgenden Fehler:
error C2664: cannot convert parameter 1 from TaRech_w::Vari to TaRech_w::Vari^
Vari x(var, val); tabelle.push_back(x); half auch nicht.
Wenn ich statt des Vectors ein Array verwende, erhalte ich denselben Fehler.
Ich verwende Visual Studio 2008. Übersetzt wurde mit /clr
Was ist da zu tun? Vielen Dank für die Mühe.
Comment