传递字符数组?

时间:2016-09-20 03:34:30

标签: c++ function

我无法将char数组传递给函数。每当我尝试这样做时,都会显示以下错误:

  

错误1错误C2664:' void打印(字符)' :无法从' char [22]'转换参数1到' char'

我不确定问题是什么。一些建议会很棒。

#include <iostream>

using namespace std;

void Print(char);

int main(){
    char arr1[] = { "Hello how are you? / " };
    Print(arr1);
}

void Print(char arr[]){
    for (char i = 0; i != '/'; i++)
    {
        cout << arr[i] << endl;
    }
}

2 个答案:

答案 0 :(得分:3)

1. Print的功能声明和定义不匹配。根据声明,Print接受char作为其论点,这就是编译器抱怨的原因。将声明更改为

void Print(char[]);

2. for (char i = 0; i != '/'; i++),条件i != '/'没有检查char数组的元素,它应该是arr[i] != '/'

答案 1 :(得分:1)

这个程序有效。

{{1}}

我觉得while语句比for语句更好,你需要使用arr作为指针。