私は変数を自分のクラスのプライベートでadc_cmd[9]
として定義しています。それは定数なので、それ自体をクラス内で定義するだけだと思っていましたが、明らかにうまくいきませんでした:static const unsigned char
ADC
#pragma once
class ADC{
private:
static const unsigned char adc_cmd[9] = { 0x87, 0xC7, 0x97, 0xD7, 0xA7, 0xE7, 0xB7, 0xF7, 0x00 };
//...
};
エラー:
error: a brace-enclosed initializer is not allowed here before '{' token
error: invalid in-class initialization of static data member of non-integral type 'const unsigned char [9]'
...
だから私はクラスから行を持ち出そうとしました: static const unsigned char ADC::adc_cmd[9] = { 0x87, 0xC7, 0x97, 0xD7, 0xA7, 0xE7, 0xB7, 0xF7, 0x00 };
、しかしそれはこのエラーをもたらしました:
error: 'static' may not be used when defining (as opposed to declaring) a static data member
error: 'const unsigned char ADC::adc_cmd [9]' is not a static member of 'class ADC'
私は明らかにこれを適切に宣言していません。これを宣言する正しい方法は何ですか?