有人会认为这段简单的代码应该很容易编译:
#include <utility>
struct Q {
static const int X = 0;
};
int main() {
std::pair<int, int>(Q::X, 0);
return 0;
}
但是,当我g++
使用默认设置(cygwin gcc 4.5.3)编译它时,它会向我抛出一个链接器错误:
undefined reference to `Q::X'
我在这里完全被难住了——MSVC 编译得很好,但我的 gcc 没有。(MinGW 也可以正常工作。)