Ich habe eine Struktur wie folgt erklärt:in einen Vektor von struct Pushing ein Element dieses Vektors
struct Point{
double x,y;
Point(){}
Point(double xx,double yy): x(xx),y(yy){}
};
Und ich versuche, den Vektor so zu füllen:
vector<Point> s(1);
Point tmp(1,2);
s[0]=tmp;
s.push_back(s[0]);
Leider , dies führt zu einer falschen Antwort, wenn ich den Inhalt von s [1] zeige, aber s.push_back((Point)s[0])
führt zu der erwarteten Antwort (z. B. eine Kopie von s [0]).
Was ist der Unterschied zwischen s.push_back(s[0])
und s.push_back((Point)s[0])
, die diese differennce erklärt?
Gibt es eine automatische Konvertierung oder etwas unter der Haube?
's.push_back ((Point [0]))' ergibt keinen Sinn, 'Point' ist ein Typ. – Borgleader
Welche falsche/richtige Antwort auf was? – Svalorzen
'Vektor s (2, Punkt (1, 2))' wäre viel besser. –
DimChtz