NULLって常に使えるのかと思っていました。
何もincludeしないクラス作成して、その中でNULL使ったら以下のメッセージが出て怒られました。
```text
`gutter:false;
error: NULL' was not declared in this scope
```
ググってみると[stackoverflow](https://stackoverflow.com/questions/462165/error-null-was-not-declared-in-this-scope)先生の記事が見つかりました。
```cpp
`gutter:false;
#include <cstddef>
```
インクルードすればOKでした。
ちなみに上記のファイルをみてみると、
```cpp
`gutter:false;
:
#undef __need_size_t
#undef __need_NULL
#undef __need_wint_t
#include <bits/c++config.h>
#include <stddef.h>
:
```
となっていて、実際にはstddef.hでNULLが提議されていました。
その内容を探してみると...
/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h
```cpp
`gutter:false;
:
#undef NULL /* in case <stdio.h> has defined it. */
#define NULL __null
#define NULL ((void *)0)
#define NULL 0
:
```
と定義されていました。
0 件のコメント :
コメントを投稿