0

重複の可能性:
エラー:'NULL'はこのスコープで宣言されていません

Visual Studioで記述されたこのコードを使用していますが、Eclipseで作業しており、Eclipse用にコンパイルできるようにしようとしていますが、このエラーがスローされます。

..\heap.cpp:104:10: error: 'NULL' was not declared in this scope

コード:

#include"heap.h"

using namespace std;

template<class T>
Heap<T>::Heap() // constructor
{
    root = NULL;
    size = 0;
}
4

1 に答える 1

2

Eclipse はコンパイラではなく、単なる IDE です。Visual Studio 以外の別のコンパイラで使用しており、システム ヘッダーが多少異なるため、VC++ の作業インクルードに NULL on の宣言が含まれないようになっていると思います<the other compiler>。Martinho Fernandes が言ったように、<stdlib.h>or <cstdlib>、またはそれらを含むヘッダーを含める必要があります。他の質問が言うように、C++ 11 の方法は<stddef.h>orになり<cstddef>ます。

于 2012-06-03T17:21:44.803 に答える