Переопределение типов данных членов класса

Можно ли изменить тип данных члена класса после его инициализации? Скажем, переопределить двойное имя «Foo» для строки?

2

Решение

Как ответ на ваш комментарий, вы должны использовать std::optional

std::optional<int> Do(int x, int y)
{
if ( x == y )
{
return 42;
}

return {};
}

int main()
{
auto ret = Do(3,2); // << exchange your test data here!
if ( ret )
{
std::cout << "Got an answer" << ret.value() << std::endl;
}
else
{
std::cout << "No answer" << std::endl;
}
}
2

Другие решения

Нет. Типы фиксируются во время компиляции. Если вы хотите переключиться между двойной и строкой, возможно, достигните станд :: вариант:

std::variant<double, std::string> val = 1.0;
val = std::string("hello");
3

По вопросам рекламы [email protected]