使用带有对象错误的向量

jb.*_*jb. 0 c++ class vector object

自从我完成C++以来已经有一段时间了,所以我在这里遇到了一些麻烦.我allQueue在主文件中声明的行上收到此错误.我显然已经删除了许多我认为不需要的代码,如果你需要更多信息请告诉我.

用.编译

g++ mainFile.cpp MyClass.cpp extraObjectFile.o -o mainFile
Run Code Online (Sandbox Code Playgroud)

产生:

error: expected constructor, destructor, or type conversion before ‘<’ token
Run Code Online (Sandbox Code Playgroud)

主文件

#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <iostream>    
#include "MyClass.h"

vector<MyClass> allQueue;
int main()
{
   allQueue.push_back(new MyClass(100));
}
Run Code Online (Sandbox Code Playgroud)

MyClass.cpp

#include "MyClass.h"

MyClass::MyClass(int start_priority)
{
    priority = start_priority;
}


int MyClass::getPriority()
{
    return priority;
}
Run Code Online (Sandbox Code Playgroud)

MyClass.h

class MyClass
{
    int priority;
    public:
        MyClass(int);
        int getPriority();
};
Run Code Online (Sandbox Code Playgroud)

cli*_*hlt 6

好的,首先要注意的是:当您发布错误消息时,请发布编译器给您的完整错误消息.否则,没有人可以帮助你.

其次,你的问题的答案:

使用

std::vector<MyClass> allQueue;
Run Code Online (Sandbox Code Playgroud)

在你的main.cpp文件中.做一个

allQueue.push_back(MyClass(100));
Run Code Online (Sandbox Code Playgroud)

添加对象.考虑为MyClass实现一个拷贝构造函数.