gpt4 book ai didi

C++。可以做到这一点而不会出现错误 : 'was not declared in this scope'

转载 作者:太空宇宙 更新时间:2023-11-04 14:47:30 25 4
gpt4 key购买 nike

C++。是否有可能做到这一点?

if (x>3)
int foo=10
else
long foo=10

没有得到错误:

was not declared in this scope

最佳答案

是的,你可以,使用 std::variantC++17boost::variant

std::variant<int, long> foo;

if(x > 3)
foo = 10;
else
foo = long(10);

然后像这样访问foo:

if(auto value = std::get_if<int>(&foo))
std::cout << "foo is int: " << *value << '\n';
else {
long value = std::get<long>(foo);
std::cout << "foo is long: " << value << '\n';
}

虽然我不知道您为什么要这样做。 long 保证能够保存所有 int 值,因此您可以制作 long 类型的 foo,并完全避免 std::variant

关于C++。可以做到这一点而不会出现错误 : 'was not declared in this scope' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41418871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com