【发布时间】:2017-02-25 07:56:00
【问题描述】:
我正在尝试使用 C++ 自学有关向量的知识。
据我所知,与数组相比,向量更加动态和高效。
对于我的实践,我尝试将不同数据类型的值存储到向量中并从向量中打印这些值。
所以我开始尝试将一些值硬编码为不同的向量数据类型,例如整数、字符串和双精度。
所以经过一些研究,我尝试将一些整数和双精度值硬编码到向量中,如下所示。
std::vector<int> stockID = {023};
std::vector<double> stockPrice;
stockPrice.push_back("50.50");
std::vector<int> stockChange = {100};
std::vector<int> transactionDate = {151212};
但是它返回了一个名为 conversion of int/double to non-scarlar type 的错误。
但是,当我尝试将值硬编码到向量字符串中时,它似乎没有任何问题。
std::vector<string> stockItem;
stockItem.push_back("Samsung Phone");
std::vector<string> category;
category.push_back("Electronic");
std::vector<string> subCategory;
subCategory.push_back("Mobile Phone");
请问字符串向量与 int 和 double 向量的工作方式有何不同会产生这样的错误。
【问题讨论】:
-
""中引用的任何内容都是 C++ 中的 string-literal。您的stockPrice仅存储double,并且没有从 string-literal 到double的这种隐式转换