在创建类时,我被告知没有公共数据成员。很好,我明白为什么,但这是我的问题。我有一个在类中使用的结构(线性链表)。我真的很想将其中一个结构字段(一个数组)初始化为 NULL,以便我可以检查客户端是否传递给我有效的结构,而不是未初始化的充满垃圾值的结构。我意识到 C++ 不允许我在 struct 声明中设置默认值,那么如何防止客户端给我垃圾?
struct task {
char *description;
char *name;
float time_remaining;
float time_spent;
};
然后在我的课堂上,我正在尝试做类似的事情:
//I am making a copy of "to_add" and storing it in the LLL
int list::add_to_list(const task & to_add)
{ /.../ }
我不希望用户将一堆未初始化的“任务”添加到链接列表中......该怎么办?当我将该结构转换为一个类并将数据成员移动到私有时,我在尝试访问数据成员以复制它们时遇到了很多问题。我非常小心地不做任何事情来影响 var 的值,但我无法摆脱编译器给我关于“错误:将 'const task' 作为 'char* task::get_comp_name 的 'this' 参数传递”的错误()' 丢弃限定符 [-fpermissive]" ("get_comp_name") 是我确定没有编辑任何值的 getter 之一,只是传递给我一份副本)在我开枪之前请帮助我。在脸上。