Initialisierung von Struct mit CString
-
Das wird problemlos kompiliert:
struct structInfo{
int num1;
int num2;
int num3;
int num4;
_TCHAR name1[260];
_TCHAR name2[260];
_TCHAR name3[260];
};static struct structInfo myGlobalInfos[] =
{
{1 , 2, 3, 4, _T("text1"), _T("text2"), _T("text3")},
{4 ,5, 6, 7, _T("text4"), _T("text5"), _T("text6")},
{8 ,15, 56, 97, _T("text7"), _T("text8"), _T("text9")}};
---------------------TCHAR name3[260] --> CString name3----------
struct structInfo{
int num1;
int num2;
int num3;
int num4;
_TCHAR name1[260];
_TCHAR name2[260];
CString name3;
};
Das wird auch von VC 8.0.50 problemlos kompiliert.VC 7.0.9466 gibt allerdings folgende Fehlermeldung aus:
error C2440: 'initializing' : cannot convert from 'int' to 'structInfo
No constructor could take the source type, or constructor overload resolution was ambiguousWeißt jemand warum?
Danke im voraus
-
Ein TCHAR* oder Array ist eben kein String und implizite Konvertierungen sind hier nicht erlaubt.
Mach es so (wenn es sein muss)...
...
{8 ,15, 56, 97, _T("text7"), _T("text8"), CString(_T("text9")) }
...Warum willst Du hier einen CString?
-
Martin Richter schrieb:
Ein TCHAR* oder Array ist eben kein String und implizite Konvertierungen sind hier nicht erlaubt.
Mach es so (wenn es sein muss)...
...
{8 ,15, 56, 97, _T("text7"), _T("text8"), CString(_T("text9")) }
...Warum willst Du hier einen CString?
1)Leider die gleiche Fehlermeldung unter VC 7.0! (Unter VC8.0 OK)
error C2440: 'initializing' : cannot convert from 'int' to 'structInfo- Auf (CString name3) greifen viele Funktionen zu und das läuft auch unter VC 8. Eine Typumwandlung in _TCHAR bringt viele Umsellungen mit sich. Ich brauche es leider auch unter VC7.0!
PS: Die oben geziegte Struct ist lediglich ein vereinfachtes Beispiel von der Struct was ich tatsächlich einsetzen muss.