Referenz auf Array fester Größe
-
EDIT:
Zu lahm, hehe
-
wchar_t* wString = this->m_freeTempPtr[x];So soll das aussehen

-
Neku schrieb:
wchar_t* (&WideStringClass::m_FreeTempPtr)[256] = *(wchar_t*(*)[256])0x00809D40;Nicht über den Sinn des ganzen nachdenken - ich hätte nur gerne eine Lösung, ob standardkonform oder nicht

Aktueller Fehler: "error C2101: '&' on constant"*edit2*
Folgendes funktioniert übrigens:uint32& uVar = *(uint32*)0x012345678;das scheint eine beschränkung des compilers zu sein. prionzipiell geht es ja um
T& foo = *(T*)0x12345678;für beliebiges skalares T scheint visual c++ das zu akzeptieren. sobald T allerdings ein array ist, erhalten wir den beschriebenen fehler - dabei ist anzumerken, das das problem auf der rechten seite ist. interessanterweise funktioniert das hier immer (und könnte als ausweg dienen):
T* const foo = (T*)0x12345678; T& bar = *foo;da foo in jedem falle vor bar initialisiert wird, wäre das eine mögliche lösung. ich würde das problem nicht unbedingt als bug unsehen, da das ergebnis des casts, der hier benutzt wird, von vornherein implementationsabhängig ist.
-
Neku schrieb:
wchar_t* wString = this->m_freeTempPtr[x];So soll das aussehen

Das solltest Du mit etwas Phantasie auch noch selber hinbekommen. :-\
[cpp]
wchar_t * operator [] (int index)
{
return &Data[index];
}
[cpp]