【发布时间】:2019-10-21 05:44:38
【问题描述】:
我正在尝试制作一个“自动售货机”,我可以在其中购买一系列零食,每个零食都是一个带有名称、价格和数量的元组。这是可能的还是我最好只使用结构?这是我目前所拥有的:
#include <iostream>
#include <tuple>
#include <string>
using namespace std;
tuple<string, float, int> snacks[3] = {("food 1",1.2,20),("food 2",1.2,20),("food 3",1.2,30)};
int main() {
return 0;
}
【问题讨论】:
-
{{"food 1",1.2,20},{"food 2",1.2,20},{"food 3",1.2,30}}; -
可以编译吗?
-
你最好使用结构体 - 为这些属性命名,
get<1>(o)的可读性远低于o.price -
如果它编译,它是可能的。否则,您正在寻找意见,所以这不是问题
-
我收到错误:2.1.cpp|8|错误:从 'int' 转换为非标量类型 'std::tuple<:__cxx11::basic_string std: :char_traits>, std::allocator
>, float, int>' 请求|