错误:数组下标'int[int]'的类型无效,原因
error: invalid types 'int[int]' for array subscript why
这是我的代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int arr[10][10]= {0,0};
int t,i,j,n,a,b,c,d;
cin>>n;
for(t=1;t<=n;i++)
{
cin>>a>>b>>c>>d;
if((arr[a+1][b+1]==arr[c][d])||(arr[a+2][b+2]==arr[c][d])||(arr[a+3][b+3]==arr[c][d])||(arr[a+4][b+4]==arr[c][d])||(arr[a+5][b+5]==arr[c][d])||(arr[a+6][b+6]==arr[c][d])||(a[a+7][b+7]==a[c][d]))
{
cout<<"YES"<<endl;
}
else if(arr[a-1][b-1]==arr[c][d]||arr[a-2][b-2]==arr[c][d]||arr[a-3][b-3]==arr[c][d]||arr[a-4][b-4]==arr[c][d]||arr[a-5][b-5]==arr[c][d]||arr[a-6][b-6]==arr[c][d]||a[a-7][b-7]==a[c][d])
{
cout<<"YES"<<endl;
}
else if(arr[a-1][b+1]==arr[c][d]||arr[a-2][b+2]==arr[c][d]||arr[a-3][b+3]==arr[c][d]||arr[a-4][b+4]==arr[c][d]||arr[a-5][b+5]==arr[c][d]||arr[a-6][b+6]==arr[c][d]||a[a-7][b+7]==a[c][d])
{
cout<<"YES"<<endl;
}
else if(arr[a+1][b-1]==arr[c][d]||arr[a+2][b-2]==arr[c][d]||arr[a+3][b-3]==arr[c][d]||arr[a+4][b-4]==arr[c][d]||arr[a+5][b-5]==arr[c][d]||arr[a+6][b-6]==arr[c][d]||a[a+7][b-7]==a[c][d])
{
cout<<"YES"<<endl;
}
else
{
cout<"NO"<<endl;
}
}
return 0;
}
代码块显示错误:
数组下标的int[int]类型无效
我不明白为什么会出现这个错误
a[a+7][b+7]==a[c][d]
用a
代替arr
请注意您已使用
a[a+7][b-7] instead of arr[a+7][b-7]
出现在所有if语句的最后条件中。这就是它抛出错误的原因在你的例子中'a'是一个整型,你试图找到a[a+7][b-7] =>int (int) (int)
在结尾处也要写
cout<"NO"<<endl;
应该是
cout<<"NO"<<endl; // note the two angular brackets
相关文章:
- 为什么 int 类型的枚举类值不能用作 int
- 如何将文本文件的特定行读取到 int 类型的数组中C++?
- int* 和 int[] 类型对二进制运算符 + 的操作数无效
- 比较两个整数在C++中与未知 int 类型的相等性
- 二进制'operator+' 'int*'和'int*'类型的无效操作数
- 使用元编程选择 int 类型,将生成错误
- 从数组创建 Mat 时,'cv::Mat' 和 'int' 类型不兼容
- 复制初始化 - 从 'int' 类型转换为非标量类型
- 初始化cv :: mat ::具有int类型的定义大小的人
- 处理代码重新定义int类型(uint16_t,int16_t等),并不喜欢它
- 为什么没有"int"类型声明时输出不同?
- 在大型程序中将长变量更改为 int 类型
- 无法将 int 类型转换为时间类型(我的类类型)
- C++:无法在按位函数后将 int 类型设置为非标量
- 无法分配给INT类型的成员[10]
- C++ cin 将字符串读取到 int 类型中返回 0
- 为什么 decltype((i)) 是引用类型,而 decltype(i+0) 是 int 类型
- 使用4用于循环的4矩阵上的数组下标的“ int [int]类型”
- std::is_arithmetic 为通用 lambda 中的 int 类型返回 false:未定义的行为?
- 正在施放带有“ Int”类型的临时性