WandboxのGNU MPを触っていて引っ掛かったこと:
Header
<cstddef>
changesThe
<cstddef>
header was updated for C++11 support and this breaks some libraries which misuse macros meant for internal use by GCC only. For instance with GMP versions up to 5.1.3, you may see:/usr/include/c++/4.9.0/cstddef:51:11: error: ‘::max_align_t’ has not been declared
using ::max_align_t;
^Another possible error is:
someheader.h:99:13: error: ‘ptrdiff_t’ does not name a type
A workaround until libraries get updated is to include
<cstddef>
or<stddef.h>
before any headers from that library.
とのことで,ワークアラウンドとしてstddef.h
を先に読むようにとのこと.
GNU MPのgmp.h
にはC++言語用のコードが混ざっていて,それが悪さをすることがあるので,ヘッダファイルを読む順番は気をつけた方が良さそう.