C ++在头文件中使用Struct定义创建Structs队列

时间:2018-03-31 19:33:07

标签: c++ struct queue header-files

我在一个名为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中,也包含在队列中,我试图在我的主文件中执行此操作:

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

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

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

return 0;
}

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

&#34;无效的参数&#39; 候选人是: void push(const r&amp;) 虚压推(r&amp;&amp;) &#39;&#34;

我进入了我的项目属性并确保看到头文件。我在申报队列时没有收到错误。有谁知道这里有什么问题?

1 个答案:

答案 0 :(得分:0)

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

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