我一直在寻找修复我的错误,但我无法在任何地方找到我的案例。 所以我有一个功能

int getUniques(Visitors info[], string address, string startDate, string endDate);

该函数将在我的数组中加入Class Objects和3个字符串。 当我尝试构建时,我会遇到各种各样的错误。 我会列出所有。

“访客”未在此范围内声明

'address'之前的预期primary-expression(其他字符串也是如此)

表达式列表在初始化程序中被视为复合表达式

任何人都知道这些意味着什么以及如何解决它们?

编辑:大声笑我知道我这么傻,我现在修好了,但我还有其他问题需要引导。 如果我仍然不能让我的方法工作,我将重新做我的帖子,并在一段时间后重新发布。

===============>>#1 票数:2 已采纳

这些错误意味着Visitorsstring的名称不被C ++编译器识别为类型...

为了工作,您的类型Visitors的声明必须在函数声明之前; #include预处理器指令中包含的相同源文件或头文件中。

此外,C ++ string类型在标准头文件string定义,必须在使用之前包含,并且类型在命名空间std被包含,因此您需要使用全名std::string或声明您正在使用它与using指令:

#include <string>
#include "visitors.hpp"

using std::string;

int getUniques(Visitors info[],
               string address,
               string startDate,
               string endDate);

而在visitors.hpp文件,您的类型定义(proably一class ,但也有一个struct ,一个union ,一个enumtypedef一些其他类型的)...

#pragma once

class Visitors {
     ... // Your class definition.
};

请注意,在头文件中使用using指令是一种不好的做法,因为它会污染包含头的编译单元的默认命名空间。 如果是这种情况,则应使用全名std::string

===============>>#2 票数:0

“Visitors Info”是否将数组的声明传递给函数?

如果是这样,您需要声明它是什么类型的变量。 例如。 整数数组或字符串数​​组

所以纠正的函数声明可以是。

int getUniques(string Visitors_info[], string address, string startDate, string endDate);

假设我正在解释您的代码正在尝试正确执行的操作。

  ask by Sherifftwinkie translate from so

未解决问题?本站智能推荐: