c++ - 根据文件读取条件初始化struct中char的大小

标签 c++ global-variables constants

我想初始化这个:

toto.cpp

typedef struct {
  ...
  unsigned char au8FrameBuffer[FRAME_SIZE]; 
  ...
}tstrFrameRawData;

但帧大小取决于文件中写入的配置。

主要.cpp

string cameraSource = configFile.getItem("CAMERA_SOURCE");
if (cameraSource == "CAMERA_WGA")
          {
                frameFormat = FDESC_u8FORMAT_GRAY_8BIT_752_480;
                frameWidth = 752;
                frameHeight = 480;

FRAME_SIZEframeWidth*frameHeight,它们是全局变量。

但由于 unsigned char au8FrameBuffer[FRAME_SIZE] 正在等待常量 FRAME_SIZE,我不知道如何传递它。

最佳答案

您可以在结构中使用字符指针,并在计算其大小后在堆上动态创建数组。

 typedef struct {
  ...
  unsigned char* au8FrameBuffer; 
  ...
}tstrFrameRawData;

....

FRAME_SIZE=frameWidth*frameHeight;
tstrFrameRawData.au8FrameBuffer=new unsigned char[FRAME_SIZE];//dynamically created the array

 ....
//delete[] tstrFrameRawData.au8FrameBuffer;//delete it once you are done

关于c++ - 根据文件读取条件初始化struct中char的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37304437/

相关文章:

c++ - 如何为 C++ 类和结构自定义 STAsertEquals 输出?

函数模板的 C++ Decltype

c++ - 隔离一个类的并发/非并发访问数据成员

android - 仅在eclipse中打开hello-jni.c文件时在eclipse中编译Hello-Jni失败

java - 以与 Java 中变量类似的方式使用对象

函数的常量指针参数

javascript - 在javascript中使用全局函数是否有效?

Python 全局变量通过导入?

php - 对象常量的可见性

c++ - 如何在类中声明和初始化静态常量字符串?