【发布时间】:2018-12-06 20:03:50
【问题描述】:
我正在用 C++ 制作一个迷你 CPU,它使用数组的二进制状态来激活不同的事件。例如,第 67、39 和第 23 个值为 1 的数组可能会输出日期。我正在做一个输入测试,输入“a”会导致第一个实际值是一个。如您所见,数组已经以“a”开头,但这是 CPU 某个部分的指示符。
我做了错误报告告诉我的所有事情,但他们继续发送相同的结果。如果你愿意,我可以发送调试。
#include <iostream>
using namespace std;
int main() {
char var a = 1
char myArray = {a, 0, 0, 0, 0, 0, 0, 0, 0};
char var pushregister;
cin >> pushregister;
if (pushregister == a) {
myArray = {a, 1, 0, 0, 0, 0, 0, 0, 0}
};
cout << myArray;
return 0;
}
【问题讨论】:
-
这是您的实际代码吗?
char myArray = {a, 0, 0, 0, 0, 0, 0, 0, 0};和myArray = {a, 1, 0, 0, 0, 0, 0, 0, 0}甚至不应该编译 -
char var a = 1(除其他外) - 你确定这可以编译吗? -
这不是 C++。
-
看来您需要对 C++ 的语法和规则有良好的基础。
-
如果你想玩bytes,我推荐使用
uint8_t,因为char可以被签名、未签名或char取决于编译器设置。
标签: c++ arrays if-statement cin cpu-registers