Информация об изменениях

Сообщение Re: mypair, constructor, constexpr от 07.05.2015 7:44

Изменено 07.05.2015 7:46 Constructor

Здравствуйте, niXman, Вы писали:

X>constexpr я таки недоучил, и хз, что я делю не так...

X>хотя, есть подозрение, что оно и не должно работать ввиду того, что i(второй аргумент для json_pair()) — не constexpr...

Следующий код
// ...

int i;

int main() {
    constexpr auto p0 = json_pair("i", i);
    
    (void)p0;
}

компилируется на clang 3.6.0 и g++ 4.9.2 с ключами -std=c++11 -Wall -Wextra -Werror -pedantic-errors. Догадаетесь, почему?
Re: mypair, constructor, constexpr
Здравствуйте, niXman, Вы писали:

X>constexpr я таки недоучил, и хз, что я делю не так...

X>хотя, есть подозрение, что оно и не должно работать ввиду того, что i(второй аргумент для json_pair()) — не constexpr...

Следующий код
// ...

int i;

int main() {
    constexpr auto p0 = json_pair("i", i);
    
    (void)p0;
}

компилируется на clang 3.6.0 и g++ 4.9.2 с ключами -std=c++11 -Wall -Wextra -Werror -pedantic-errors. Догадаетесь, почему?

P.S. Писать в return statement pair<V>{k, v} явно излишне, достаточно просто {k, v}.