ディレクティブってのはプリプロセッサのコマンドのこと。コードをコンパイルする前にテキストを操作できる。#defineや#includeなど。
で、今回初めて知ったのが#errorディレクティブ。これはコンパイラにコンパイルの中止をさせることができるもの。使い方は#errorの後にエラーメッセージを書く。
int main() { #error this is error. }
たとえばこのソースをコンパイルすると次のエラーが出てコンパイルが終了する。
test.cpp(3) : fatal error C1189: #error : this is error.
まあ、そう頻繁に使うこともないだろう。使うとすればコードを移植したり書き換えているときに、コンパイルしないはずというのを確認するために挿入してみるとか。