CPtrArray und doublev....
-
moinsen ,
also hab nen prob...
das was ihr da unten seht soll den pointer auf ne double variable ín nem CPtrArray speichern ... das funzt auch so weit... hab den blos nen prob den wert wieder aus dem array raus zu bekommen und in nen cstring um zu formatiernen ... kann mir vll jemand helfenmfg beelze
void CTangensDlg::Onadd() { // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen UpdateData(true); double *lang= new double; *lang=m_Lange; laengen.Add(lang); m_Lange=0; AddLaengenToListBox(); UpdateData(false); } bool CTangensDlg::AddLaengenToListBox() { CString lange; lange.Format("%lf",laengen.GetAt(laengen.GetSize()-1)); m_stucke.AddString(lange); return 0; }
-
laengen.GetAt() gibt dir einen pointer auf ein double zurück. Du musst also dereferenzieren.
lange.Format("%lf",*(laengen.GetAt(laengen.GetSize()-1)));
Kurt
-
Denk nochmal wirklich nach ob du Pointer auf doubles speichern musst. Irgendwie fällt mir kein vernünftiger Grund ein dies zu tun.
-
hirn schrieb:
Denk nochmal wirklich nach ob du Pointer auf doubles speichern musst. Irgendwie fällt mir kein vernünftiger Grund ein dies zu tun.
Da has du natürlich recht. Aber ein CPtrArray nimmt halt nur pointer.
Kurt
-
Wie wär es denn dann mit CArray<double, double> ?
Gruss
EB
-
Denk nochmal wirklich nach ob du Pointer auf doubles speichern musst. Irgendwie fällt mir kein vernünftiger Grund ein dies zu tun.
mir schon und zwar das ich das da unten nicht hinbekome
Wie wär es denn dann mit CArray<double, double> ?
Gruss
EBmuss ich die variable einfach so deklariernen ?? hab noch nciht so viel mit array's gemacht ...
CArray<double, double> varibalnename;
mfg beelze
-
mir schon und zwar das ich das da unten nicht hinbekome
-
-=beelze=- schrieb:
muss ich die variable einfach so deklariernen ?? hab noch nciht so viel mit array's gemacht ...
CArray<double, double> varibalnename;
mfg beelze
Ja. Aber noch besser ist, wenn du folgendes in der stdafx.h einfügst:
#include <afxtempl.h> // für CArray usw. typedef CArray<double, double> CDoubleArray;
Damit definierst Du Dir einen Aliasnamen für z.B ein CArray vom Datentype double.
Dadurch brauchst du im Quelltext nicht immer die komplette Arraydefinition
angeben sondern nur CDoubleArray zu schreiben.CDoubleArray m_arrOfDoubles; m_arrOfDoubles.Add(3.0F); void ListArray(CDoubleArray& arr) { for ( INT_PTR i = 0; i < arr.GetCount(); ++i ) { CString strDouble; strDouble.Format(_T("%f"), arr.GetAt(i)); TRACE(_T("Wert: %s\n"), strDouble); } }
Gruss
EB