Ich möchte dies initialisieren:initialisieren Größe von char in struct auf Dateilesebedingungen abhängig
toto.cpp
typedef struct {
...
unsigned char au8FrameBuffer[FRAME_SIZE];
...
}tstrFrameRawData;
Aber die Rahmengröße hängt von der Konfiguration in eine Datei geschrieben.
main.cpp
string cameraSource = configFile.getItem("CAMERA_SOURCE");
if (cameraSource == "CAMERA_WGA")
{
frameFormat = FDESC_u8FORMAT_GRAY_8BIT_752_480;
frameWidth = 752;
frameHeight = 480;
FRAME_SIZE
ist frameWidth*frameHeight
, die globale Variablen sind.
Aber da unsigned char au8FrameBuffer[FRAME_SIZE]
auf eine konstante FRAME_SIZE wartet, weiß ich nicht, wie man es übergibt.
Make 'au8FrameBuffer' einen char-Zeiger und dann, nachdem die Konfigurationsdatei, zeigen Sie auf dem zugewiesenen' char Lesung [FRAME_SIZE] ' –
Da Sie ein statisches Array verwenden seine Größe zum Zeitpunkt der Kompilierung bekannt sein muss. Sie können stattdessen einen Zeichenzeiger in der Struktur verwenden und das Array auf dem Heap dynamisch erstellen, nachdem Sie seine Größe berechnet haben. –