この単純なコードは簡単にコンパイルできるはずだと考える人もいるでしょう:
#include <utility>
struct Q {
static const int X = 0;
};
int main() {
std::pair<int, int>(Q::X, 0);
return 0;
}
ただし、デフォルト設定 (cygwin gcc 4.5.3) を使用してこれをコンパイルするとg++
、リンカー エラーがスローされます。
undefined reference to `Q::X'
私はここで完全に困惑しています.MSVCはこれをうまくコンパイルしますが、私のgccはコンパイルしません. (MinGW も正常に動作します。)