ヘッダのなかに
enum posix_errno {
...
invalid_argument = EINVAL,
...
};
列挙定数invalid_argumentを発見。
えーと、C++標準化委員会のみなさん、ヘッダのなかにinvalid_argumentというクラスがあるんですけど。
クラス名と、列挙定数などの名前が同名であっても、コンパイルを通すことはできますが、それは既存のライブラリ(statなど)を使うための仕様だろ。
新しく作るライブラリに、こんな名前使っちゃダメだろ。
既存のクラスinvalid_argumentが使われているコードも、修正しなくちゃなんねぇ〜し。