c – 数组初始化中的未知错误:非整数类型`const unsigned char
发布时间:2020-12-16 10:16:16 所属栏目:百科 来源:网络整理
导读:我试图制作一个Intel 8080 CPU仿真器(然后我想仿效使用它的Space Invaders). 我编写了几乎完整的CPU实现(感谢MAME和Tickle项目(主要是);))除了无记录指令(0x08,0x10,0x18,0x20,0x28,0x30,0x38,0x0CB,0x0D9,0x0DD,0x0ED,0x0FD). 编译时我只有问题,我不知道为
我试图制作一个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] = // ... 这是做什么的(在定义中),“嘿,这将是这个阵列.”在源文件中,这是那个数组.” (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |