array und Pointer problemme
-
Ich habe eine Variable die aus 32Wörter a 32 Bit bestehen soll d.h. sowas
unsigned short m_Value[32];in dem Array will ich an einem bestimmten Wort und Bitposition die bValue reinschreiben
unsigned short* m_Value; void CClass::setValue(bool bValue, unsigned short WNO,unsigned short BitPos){ unsigned short WordNr = m_Value[WNO]; //WordNr }da läuft schon mal mit dem Wordnummer was schief
-
Also entweder du legst dir ein Array mit fester Größe an oder du mußt dich selber um die Speicherverwaltung kümmern:
//a: unsigned short m_value[32]; void CClass::setval(bool bval,unsigned short pos) { unsigned short val=m_value[pos/(8*sizeof(short)]; ... }//b: unsigned short* m_value; CClass::CClass(...) : ...,m_value(new unsigned short[32]) {} CClass::~CClass() {...;delete[]m_value;} void CClass::setval(...)//wie oben(PS: Möglichkeit 3 wäre es noch, einen vector zu verwenden)