非常抱歉,如果已经在某个地方回答了该问题,但是经过数小时的搜索,我找不到或了解任何内容。
对于OOP来说,这是一个很新的知识,我正在尝试通过创建一个预定义2维字符矩阵的类来与自己一起学习。我不断收到以下错误:
错误:“ char Matrix2d :: keyss [4] [4]”不是“类Matrix2d”的静态数据成员char Matrix2d :: keyss [ROWS] [COLS] = >
我的标题如下:
const int ROWS = 4;
const int COLS = 4;
class Matrix2d
{
public:
char keys [ROWS][COLS];
private:
};
我的.cpp是这样的:
char Matrix2d::keys [ROWS][COLS] =
{
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
这是使用arduino键盘运行的简单代码。
提前感谢您的帮助,希望这是我第一次在此处发布信息,因此我提供了足够的信息。
答案 0 :(得分:1)
如果该类是这样定义的:
const kruptein = require('kruptein');
const options = {
secret: 'squirrel'
}
let ciphertext = JSON.stringify(kruptein.set('security sentence'));
// {"hmac":"Ó\u0002VBº7üG\t|\u0000ï4¯R¶\u0013g¾S\\¨®£øQö","ct":"5é >Å©\tPÈ¿R\tÒëß+ÂwßDâ¡\u000e\u0012Ã\fzö]5ç","at":{"type":"Buffer","data":[34,212,193,69,138,251,146,127,218,20,195,124,105,249,164,255]},"aad":"mKr:æY Ï¢oþ¼Yþ×Kù:5\u0005êeó\u0003!ÀÁk\"\u001d","iv":{"type":"Buffer","data":[80,14,4,251,14,240,168,121,208,220,165,150]}}
console.log(kruptein.get(ciphertext));
// security sentence
表示 keys 是 Matrix2d 实例的属性,但是格式
const int ROWS = 4;
const int COLS = 4;
class Matrix2d
{
public:
char keys [ROWS][COLS];
private:
};
定义并初始化 Matrix2d 类的属性,这是不兼容的
如果要使用类的属性(“静态”类)
char Matrix2d::keys [ROWS][COLS] =
{
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
如果您想要具有该默认值的实例的属性,请执行
const int ROWS = 4;
const int COLS = 4;
class Matrix2d
{
public:
static char keys [ROWS][COLS];
};
char Matrix2d::keys [ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
在两种情况下,我都建议您更改可见度