C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 数组初始化中的未知错误:非整数类型`const unsigned char [256]’的静态数据成员的类内初始化无效大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图制作一个Intel 8080 cpu仿真器(然后我想仿效使用它的Space Invaders).

我编写了几乎完整的cpu实现(感谢MAME和Tickle项目(主要是);))除了无记录指令(0x08,0x10,0x18,0x20,0x28,0x30,0x38,0x0CB,0x0D9,0x0DD,0x0ED,0x0FD).

编译时我只有问题,我不知道为什么.

这是代码

static const unsigned char cycles_table[256] =
{
    /*                       8080's Cycles Table                         */
    /*     0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F */
    /*0*/  4,10,7,5,4,/*1*/  0,/*2*/  0,16,/*3*/  0,13,/*4*/  5,/*5*/  5,/*6*/  5,/*7*/  7,/*8*/  4,/*9*/  4,/*A*/  4,/*B*/  4,/*C*/  5,11,17,/*D*/  5,/*E*/  5,18,/*F*/  5,11
};

g带我这个错误

这个数组在一个名为i8080的类中.

解决方法

就像它说的那样,你不能在类定义中初始化静态非整数类型.也就是说,你可以这样做:

static const unsigned value = 123;
static const bool value_again = true;

但不是别的.

你应该做的是把它放在你的类定义中:

static const unsigned char cycles_table[256];

相应的文件中,放置您拥有的内容

const unsigned char i8080::cycles_table[256] = // ...

这是做什么的(在定义中),“嘿,这将是这个阵列.”在源文件中,这是那个数组.”

大佬总结

以上是大佬教程为你收集整理的c – 数组初始化中的未知错误:非整数类型`const unsigned char [256]’的静态数据成员的类内初始化无效全部内容,希望文章能够帮你解决c – 数组初始化中的未知错误:非整数类型`const unsigned char [256]’的静态数据成员的类内初始化无效所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。