我的类中的第二个参数是一个数组.我不确定如何在主程序中编写
The second parameter in my class is an array. I am not sure how to write in the main Program
在下面的代码中:
#include<iostream>
#include <string>
using namespace std;
class BookType{
private:
string Title;
string Authors[4];
string Authors;
}
这是主要程序:
int main() {
BookType Book2("Sweet",["lil,lool,lal,ln"],"ssss",29288308.47,8,3,2);
}
我收到此错误:expected primary-expression before '[' token
您正在调用BookType
的构造函数,但您没有定义一个。这是一个例子
#include <iostream>
#include <string>
#include <vector>
#include <initializer_list>
class BookType {
public:
BookType(std::string s1, std::initializer_list<std::string> l, std::string s2, double d, int i1, int i2, int i3): title(s1), authors(l) {}
private:
std::string title;
std::vector<std::string> authors;
std::string Authors;
};
int main() {
BookType Book2("Sweet",{"lil","lool","lal","ln"},"ssss",29288308.47,8,3,2);
return 0;
}
我添加了构造函数
BookType(std::string s1, std::initializer_list<std::string> l, std::string s2, double d, int i1, int i2, int i3): title(s1), authors(l) {}
并将您的Authors
数组更改为authors
std::vector
. std::vector
更易于处理,可以使用std::initializer_list
初始化。此外,还会将std::initializer_list
传递给构造函数。 ["lil,lool,lal,ln"]
不是数组。
相关文章:
- 如何计算数组中元素的位数?(不是数组的长度),并计算其数字的总和
- 如何使用C++初始化向量;脚本化值不是数组、指针或矢量错误
- 如何对不在数组中的变量进行排序?
- C++线性搜索算法,确定数组中元素的数量
- 从用户那里获得无限量的输入,而不是打印最大的3个,而不使用数组
- (C++)我的函数不返回数组
- 用c++排序,不带数组
- Sizeof返回的是指针大小,而不是数组大小.有其他方法可以找到尺寸吗
- 在 c++ 中比较不相等数组或字符串的方法
- 确定数组是否可以旋转 3 个连续的数组元素进行排序?
- 为什么会出现一些垃圾而不是数组值?
- 是否可以在不使用数组的情况下将不同数量的相同类型的参数传递给函数?
- 使用指针交换而不引用数组C++
- 如何确定数组中的元素数量
- 使用 auto 时不检查数组边界
- 我想返回数组索引,而不是数组值
- 我不明白数组名称是如何指向数组的指针
- 如何将值分配给递增变量(如数组),但不使用数组
- 当数量小于初始化索引时确定数组中元素数的方法
- 我试图释放数据的某些部分,并用特定的整数值标记其休息,以表明它不是有效的指针.(不是数组)