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)
好的,首先要注意的是:当您发布错误消息时,请发布编译器给您的完整错误消息.否则,没有人可以帮助你.
其次,你的问题的答案:
使用
std::vector<MyClass> allQueue;
Run Code Online (Sandbox Code Playgroud)
在你的main.cpp文件中.做一个
allQueue.push_back(MyClass(100));
Run Code Online (Sandbox Code Playgroud)
添加对象.考虑为MyClass实现一个拷贝构造函数.