C++ const struct &variable 产生缺少的标签名称

标签 c++ struct constants

尝试按如下方式初始化和设置类:

class Accel
{
public:
    Accel(const struct &F, const struct &m, const struct &M, const struct &I);

    etc...
}

我在尝试编译时收到“‘struct’:缺少标签名称”。我正在使用其他人(我信任的人)的编码“约定”,这是“const struct &...”的来源,但如果有人知道更好的方法,请告诉我。

最佳答案

struct 是C++中的关键字;它不能用作类型名称。使用其他东西代替:

class Dennis;
struct Janet;  // "struct" is pretty much identical to "class"

class Accel
{ 
public:
    Accel(const Dennis & F, const Dennis & m, const Janet & j) { /* ... */ }
    // ...
};

(C++ 中的类型命名不同于其他语言,例如 C。在 C++ 中,你说 class Dennis; Dennis x;,而在 C 中你必须说 struct Janet; struct Janet y;,或者使用 typedef 来创建一个类型名,你可以在不说“struct”的情况下使用。)

关于C++ const struct &variable 产生缺少的标签名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11172187/

相关文章:

c++ - 在全局范围内使用静态变量和函数

c++ - Memcpy 崩溃取决于指针类型

c++ - 使用了未初始化的局部变量 'j'

arrays - 如何在结构中初始化数组

ios - 比较 2 个结构数组

java - 初始化后使 map 内容最终化,但不是 map 本身

c++ - 如何在 C++ 的 main 函数中使用模板数据类型?

c# - CLR 如何在为结构分配空值时绕过抛出错误?

c++ - 如何将真正不可变的二维数组传递给函数?

c++ - reinterpret_cast - 奇怪的行为