解决方法
你应该选择-std = c 11.
(注意:我假设-std = c 11x是你的问题的打字错误)
旧的-std = c 0x仅对不支持-std = c 11的较旧的编译器版本才需要,并且他们选择该名称来表达即将到来的C11的功能(和ABI)的初始和不稳定性质(和当时还不清楚这最终会否变成C 10或C 12).他们根据C11标准正式发布之前的一些细节改变了标准的不断变化的工作草案.
如果您的编译器支持-std = c 11,则没有理由使用-std = c 0x.关于兼容性:甚至可能存在差异和不兼容性,但这些不仅仅是使用-std = c 0x,而是编译器的特定版本.当编译器支持两者时,它们应该是相同的.