2012-02-22 15 views
0

私のmain.cppにSimpleGraph.hというファイルが含まれているC++のコードがあります。コンパイルしようとすると、次のようになります。C++コンパイラエラー:タイプなしで 'set'の宣言をISO C++で禁じています

In file included from main.cpp:9: 
SimpleGraph.h:201: error: ISO C++ forbids declaration of ‘set’ with no type 
SimpleGraph.h:201: error: invalid use of ‘::’ 
SimpleGraph.h:201: error: expected ‘;’ before ‘<’ token 

それから、他の行にも同様のエラーが発生します。ここで指定されたライン201は、次のとおりです。私はstackoverflowの上で発見した

std::set<int> getConvexHullPoints() const {return convexHullPoints;} 

同様のエラーは通常、「:: STD」行方不明に由来するように見えるが、ここでは存在しています。私が知っている他の人はSimpleGraph.hを同じコンパイラで使用していて問題はありませんでした。だから私はmain.cppでそれを呼び出す方法かもしれない?ここでは私が使用します:

#include <iostream> 
#include <fstream> 
#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 
#include <math.h> 
#include <vector> 
#include "SimpleGraph.h" 

using namespace std; 

...then the main body of the program 

私は助けていただければ幸いです。

編集:hmjdとKennyTMで指摘したように、私はちょうど、main.cppに中

#include <set> 

を必要としていました。あなたの時間を無駄にして、ごめんなさい。私を浪費しないように助けてくれてありがとう。

+1

... #include <set>に必要な問題は、それらの行から身を来ないかもしれません、あなたのヘッダファイルの多くを示してください。 (あなたは ''を含んでいます、右?) – Mat

+0

廃止予定のCヘッダを使用して終了してください。そして、あなた自身[良いC++の本](http://jcatki.no-ip.org/fncpp/Resources)を入手してください。 –

答えて

1

std::setを使用するには#include <set>が必要です。

関連する問題