请查看以下头文件

#pragma once

class MissileLauncher
{
public:
    MissileLauncher(void);

private:
    byte abc[3];
};

这产生了错误
Error   1   error C2143: syntax error : missing ';' before '*'

我试图用这种方式
byte *abc;

但它也失败了,同样的错误。但是,我注意到我可以以这种方式调用其他内置的tyes数组,例如一个int数组。为什么字节数组会发生这种情况?如何解决呢?我想在cpp文件中分配值。有任何想法吗?

最佳答案

尝试

class MissileLauncher
{
public:
    MissileLauncher(void);

private:
    unsigned char abc[3];
};

要么
using byte = unsigned char;

class MissileLauncher
{
public:
    MissileLauncher(void);

private:
    byte abc[3];
};

**注意:在较旧的编译器(非C++ 11)中,将using行替换为typedef unsigned char byte;

10-05 23:50