私はC++をやって以来、しばらくお待ちしておりますので、ここで少し問題があります。私はallQueue
をメインファイルに宣言している行でこのエラーが発生しています。私は明らかにあなたが私にもっと知りたいものが必要な場合は、私が必要と思わない多くのコードを削除しました。オブジェクトエラーのあるベクトルを使用する
g++ mainFile.cpp MyClass.cpp extraObjectFile.o -o mainFile
してコンパイル
が生成:
error: expected constructor, destructor, or type conversion before ‘<’ token
メインファイル
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <iostream>
#include "MyClass.h"
vector<MyClass> allQueue;
int main()
{
allQueue.push_back(new MyClass(100));
}
をMyClass.cpp
#include "MyClass.h"
MyClass::MyClass(int start_priority)
{
priority = start_priority;
}
int MyClass::getPriority()
{
return priority;
}
MyClass.h
class MyClass
{
int priority;
public:
MyClass(int);
int getPriority();
};
誰も_why_を 'vector'の前に' std :: 'を追加するよう説明していないので、' vector'テンプレートが 'std'名前空間に属しているからです。代わりに、あなたのインクルードの後に 'using namespace std;'を使うこともできます。 [http://www.cplusplus.com/doc/tutorial/namespaces/](http://www.cplusplus.com/doc/tutorial/namespaces/) – ssell
を参照してください。私は数年前に書いた古いcppファイルからいくつかのコードをコピーしました。私はこのファイルを古いものと比較していましたが、名前空間の行をコピーするのを忘れていたに違いありません。それを発見したことはないでしょう... –