C中定义枚举和长度数组时发生类型冲突错误[关闭]

wztqucjr  于 2024-01-06  发布在  其他
关注(0)|答案(1)|浏览(229)

**已关闭。**此问题需要debugging details。目前不接受回答。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答问题。
22天前关闭
Improve this question
我正在创建一个包含枚举的2D数组来描述参数的长度和相关的其他参数的长度,这些参数可以是0或1。

  1. /** \brief This is an array to hold length of the imaging parameters
  2. * \note Length values are in bytes*/
  3. const uint8_t xScape_ImgParamsLength[][2]={
  4. [IMGPARAM_THUMBNAILFACTOR]=1,0,
  5. [IMGPARAM_PLATFORMID]=2,0,
  6. [IMGPARAM_INSTRUMENTID]=2,0,
  7. [IMGPARAM_BINNINGFACTOR]=1,0,
  8. [IMGPARAM_PGAGAIN]=1,0,
  9. [IMGPARAM_ADCGAIN]=1,0,
  10. [IMGPARAM_DARKOFFSET]=2,0,
  11. [IMGPARAM_NUMBEROFFRAMES]=1,0,
  12. [IMGPARAM_FRAMEINTERVAL]=4,0,
  13. [IMGPARAM_ENCODING]=1,0,
  14. [IMGPARAM_EXPOSURETIME]=4,0,
  15. [IMGPARAM_ENCODINGBITOFFSET]=1,0,
  16. [IMGPARAM_LINES]=4,0,
  17. [IMGPARAM_LINEPERIOD]=4,0,
  18. [IMGPARAM_BANDSETUP]=1,1,
  19. [IMGPARAM_BANDSTARTROW]=2,1,
  20. [IMGPARAM_SCANDIRECTION]=1,0,
  21. [IMGPARAM_BLACKLEVEL]=2,0,
  22. [IMGPARAM_ENCODINGLINESCAN]=1,0,
  23. [IMGPARAM_ENCODINGBITOFFSETLINESCAN]=1,0
  24. };

字符串
但它不断给我同样的错误,“冲突类型为'xScape_ImgParamsLength';有'const uint8_t[][2]' {aka 'const unsigned char[][2]'}".我认为枚举定义自动int..但在这个数组中,它是uint,所以这就是为什么它给出错误..但我不知道如何解决它。
我找不到解决办法

ymdaylpp

ymdaylpp1#

你的代码的这个子集可以编译并工作,你只需要学习如何在C中初始化多维数组。

  1. #include <stdio.h>
  2. #include <stdint.h>
  3. enum bla {
  4. IMGPARAM_THUMBNAILFACTOR,
  5. IMGPARAM_PLATFORMID,
  6. IMGPARAM_INSTRUMENTID,
  7. IMGPARAM_BINNINGFACTOR,
  8. IMGPARAM_PGAGAIN,
  9. IMGPARAM_ADCGAIN,
  10. IMGPARAM_DARKOFFSET,
  11. IMGPARAM_NUMBEROFFRAMES,
  12. IMGPARAM_FRAMEINTERVAL,
  13. IMGPARAM_ENCODING,
  14. /* ... */
  15. };
  16. const uint8_t xScape_ImgParamsLength[][2]={
  17. [IMGPARAM_THUMBNAILFACTOR]={1,0},
  18. [IMGPARAM_PLATFORMID]={2,0},
  19. [IMGPARAM_INSTRUMENTID]={2,0},
  20. [IMGPARAM_BINNINGFACTOR]={1,0},
  21. [IMGPARAM_PGAGAIN]={1,0},
  22. [IMGPARAM_ADCGAIN]={1,0},
  23. [IMGPARAM_DARKOFFSET]={2,0},
  24. [IMGPARAM_NUMBEROFFRAMES]={1,0},
  25. [IMGPARAM_FRAMEINTERVAL]={4,0},
  26. [IMGPARAM_ENCODING]={1,0},
  27. /* ... */
  28. };
  29. int main() {
  30. printf("value: %d, %d\n", xScape_ImgParamsLength[IMGPARAM_FRAMEINTERVAL][0],
  31. xScape_ImgParamsLength[IMGPARAM_FRAMEINTERVAL][1]);
  32. return 0;
  33. }

字符串

展开查看全部

相关问题