История изменений
Исправление
pavlick,
(текущая версия)
:
Объект создаётся на стеке, я так понимаю, иначе также можешь вернуть nullptr. Можно так:
#include <utility>
#include <iostream>
std::pair<bool, int> fn(bool er)
{
if (er)
return {false, {}};
else
return {true, {}};
}
int main() {
auto [error, data] = fn(true);
if (!error)
std::cout << data << std::endl;
return 0;
}
Исправление
pavlick,
:
Объект создаётся на стеке, я так понимаю, иначе также можешь вернуть nullptr. Можно так:
#include <utility>
#include <iostream>
std::pair<bool, int> fn(bool er)
{
if (er)
return {false, {}};
else
return {true, {}};
}
int main() {
auto [error, data] = fn(true);
if (!er)
std::cout << data << std::endl;
return 0;
}
Исходная версия
pavlick,
:
Объект создаётся на стеке, я так понимаю, иначе также можешь вернуть nullptr. Можно так:
#include <utility>
#include <memory>
#include <iostream>
std::pair<bool, int> fn(bool er)
{
if (er)
return {false, {}};
else
return {true, {}};
}
int main() {
auto [error, data] = fn(true);
if (!er)
std::cout << data << std::endl;
return 0;
}