为什么我从字符转换为字符时出错
Why I get error convert from char to char?
这是我的代码:
#include <iostream>
using namespace std;
bool funkcja (char * a[3][7], char * b[7]);
int main()
{
char T[3][7]={{'A', 'L', 'A', 'M','A', 'k', 'o'},
{'M', 'A','M','K','O','T','A'},
{'T', 'E','Q','U','I','L','A'}};
char tab[7]={ 'A', 'L', 'A', 'M','A', 'k', 'o' };
cout<<funkcja(T, tab)<<endl;
return 0;
}
bool funkcja (char * a[3][7], char * b[7])
{
int licznik=0;
for (int i=0;i<3;i++)
{
for (int j=0; j<7;j++)
{
if (a[i][j]==b[j])
{
licznik++;
if (licznik==7) return true;
}
else {
licznik=0;
}
}
licznik=0;
}
return false;
}
当我尝试构建它时,我得到:
[错误] 无法将参数"1"的"char (*)[7]"转换为"char* (*)[7]"到"bool funkcja(char* (*)[7], char**)"
您的函数定义不正确。您需要更改:
bool funkcja (char * a[3][7], char * b[7])
自:
bool funkcja (char a[3][7], char b[7])
请注意,您可以省略第一个数组维度,因此可以将其减少为:
bool funkcja (char a[][7], char b[])
您的funkcja
接受两个指针数组,但您正在向其传递字符数组。
您应该将签名更改为:
bool funkcja (char a[][7], char b[]);
传递的参数与funkcja
中的参数类型之间存在类型不匹配。这在其他答案中也有解释。此外,您还可以通过引用传递数组,最简单的方法是使用模板。这样,您还可以在编译时传递它们的大小:
[直播]
#include <iostream>
#include <string>
#include <vector>
#include <iostream>
using namespace std;
template<int N, int M>
bool funkcja (char (&a)[N][M], char (&b)[M]);
int main()
{
char T[3][7]={{'A', 'L', 'A', 'M','A', 'k', 'o'},
{'M', 'A','M','K','O','T','A'},
{'T', 'E','Q','U','I','L','A'}};
char tab[7]={ 'A', 'L', 'A', 'M','A', 'k', 'o' };
cout<<funkcja(T, tab)<<endl;
return 0;
}
template<int N, int M>
bool funkcja (char (&a)[N][M], char (&b)[M])
{
int licznik=0;
for (int i=0;i<N;i++)
{
for (int j=0; j<M;j++)
{
if (a[i][j]==b[j])
{
licznik++;
if (licznik==M) return true;
}
else {
licznik=0;
}
}
licznik=0;
}
return false;
}
相关文章:
- 分段 使用 MPI_Gather 收集字符数组时出错
- 将常量字符* 转换为字符时出错
- 读取字符串C++的字符时出错
- 为什么常量字符*到常量字符转换出错?
- 读取字符串字符时出错 - 对于数组中的字符串值
- 通过字符串::插入插入字符时出错
- 读取字符串字符时出错
- 计算字符串中字符的出现次数时出错
- C++ 使用 Strtok 读取字符串字符时出错
- C++:使用 fgets() 读取字符输入时出错
- C ++ ifstream 无法读取字符串,并且在读取字符时出错
- 尝试将常量字符 [] static_cast<>为无符号字符 * 时出错
- 从字符串中读取字符时出错
- 英特尔 TBB,parallel_pipeline,当我在阶段之间传递常量字符*时出错
- 转换(常量字符*)变量出错
- 为什么我从字符转换为字符时出错
- 读取字符串C++的字符时出错
- wcscpy_s后读取字符串字符时出错
- 读取字符串 的字符时出错.分配内存
- C++字符出错