次の C++11 プログラムを検討してください。
#include <stdhdr1>
#include <stdhdr2>
#include <stdhdr3>
using namespace std;
#include <boost1>
#include <boost2>
#include <boost3>
int main()
{
}
stdhdrn
は標準ライブラリ ヘッダー、はboostn
ブースト ヘッダーです。
これがコンパイルされない状況はありますか?
さらに、メインに追加のユーザー コードがある場合、あいまいな (またはエラーのある) エンティティを明示的に修飾することによって解決できない std 名前空間を開くことによって引き起こされるあいまいさ (またはその他のエラー) はありますか?
(たとえば、ADL がオープンな std 名前空間を考慮しているなどの理由でしょうか?)
(別の言い方をすれば、開いている std 名前空間の後に含まれているハンドルを後押しできますか?)