【问题标题】:C++ Creating a Queue of Structs with Struct definition in a header fileC ++在头文件中使用结构定义创建结构队列
【发布时间】:2018-03-31 19:33:06
【问题描述】:

我在名为 my_header.h 的 C++ 头文件中定义了一个带有构造函数的结构:

#include <stdlib.h>
#include <iostream>

struct r {

    bool b;
    int i;
    int j;

    r(int num1, int num2)
    {
    // do stuff
    }

}

我已经在 main 中包含了头文件,还包含了队列,我正在尝试在我的 main 文件中执行此操作:

#include "my_header.h"
#include <queue>

int main (void)
{
queue<r> ROB;

ROB.push(r(0xFFFF,1));

return 0;
}

Eclipse 在我推送的代码行上给我一个错误,说:

“无效的参数” 候选人是: 无效推(常量 r &) 无效推送(r &&) '"

我进入我的项目属性并确保可以看到头文件。当我声明我的队列时,我没有收到错误。有谁知道这里出了什么问题?

【问题讨论】:

标签: c++ struct queue header-files


【解决方案1】:

根据您的示例,您应该得到的唯一错误是在您的结构定义和队列未在您的范围内声明之后缺少分号。

以下是修复了这些错误的示例: http://cpp.sh/9aoay

【讨论】:

  • 主 .cpp 文件中的结构定义没有出错。当我将它移动到头文件时,就会出现错误。我不知道为什么会这样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-07
  • 1970-01-01
  • 2012-03-11
  • 1970-01-01
  • 2017-06-08
  • 1970-01-01
相关资源
最近更新 更多