Казалось бы, что это просто кусок кода должен составлять легко:Неопределенная ссылка станд :: пара
#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) он бросает ошибка линкера у меня:
Я полностью озадачен здесь - MSVC компилирует это нормально пока мой НКУ не делает. (MinGW также отлично работает.)
Ну, это несчастливо; У меня есть дюжина этих определений 'static const' внутри класса черт (вроде), поэтому было бы довольно сложной задачей дублировать их снаружи. Я думаю, что я просто верну его к значению, поэтому он не пытается взять ссылку. Спасибо за помощь! – Rufflewind