使用 for 函数时结构上的二进制"["错误
Binary "[" error on structure while using for function
我正在尝试制作一个Q3BSP映射信息调试器。
我被困在纹理调试器部分,这是该部分使用的代码:
for( i = 0; i < nTextures; i++ ) {
printf( "Texture id %dn", i );
printf( "tTexture name %sn", Texture[i].name );
printf( "tTexture flags %dn", Texture[i].flags );
printf( "tTexture contents %dn", Texture[i].contents );
}
但这种错误似乎出现了:
错误C2676:二进制"[":"Q3BSPTexture"未定义此运算符或转换为预定义运算符可接受的类型
这是Q3BSP的文本结构:
typedef struct {
char name[64]; // Texture name.
int flags; // Surface flags.
int contents; // Surface contents
} Q3BSPTexture;
我怀疑该结构没有像char[32]那样设置限制
但我喜欢听取专业人士的解决方案!
您还没有向我们展示Texture
的定义。
您将Texture
视为Q2BSPTezture
s的数组。显然,它是一个单独的Q2BSPTezture
对象,因此对其进行索引是没有意义的。您可能只需要将其声明为数组,或者声明为指向需要分配的数组的第一个元素的指针。
此外,错误消息暗示您正在编译C++,而不是C(在C中,类型不可能定义任何运算符)。
相关文章:
- 错误 C2679:二进制"<<":未找到采用类型 'std::string_view' 的右侧操作数的运算符(或者没有可接受的转换)
- 错误:类型"double()"和"double()"的操作数无效到二进制&quo
- 错误:二进制'operator*' 'float'和'float[0]'类型的操作数无效
- 错误 C2679 二进制"<<":未找到采用类型为 'T' 的右侧操作数的运算符
- 错误含义;以二进制形式打印数字
- c++ 错误:二进制"运算符+"类型"矩阵*"和"矩阵*"的操作数无效
- -bash:/a.out:无法执行二进制文件:Exec格式错误
- 程序错误地读取了二进制文件的一个字节
- 输入 1024 后十进制到二进制转换的输出错误?
- 错误:二进制">>":未找到采用类型为"const char [1] 的右操作数的运算符
- 错误 C2679:二进制'<<':找不到采用类型 'overloaded-function' 的右侧操作数的运算符(或者没有可接受的转换)
- 我收到一个错误无效的操作数,类型为 const char [42] 和二进制"运算符+"的双倍数
- 错误:C2679 二进制"==":未找到采用类型 'const std::string' 的右侧操作数的运算符(或者没有可接受的转换)
- 仅捕获异常就可以检测所有二进制文件在C 中读取错误是否足够
- 为模板类编写二进制加法运算符. 编译错误
- 二进制加法过载声明语法错误
- 没有变量声明为函数,但错误:二进制表达式的操作数无效
- 使用 for 函数时结构上的二进制"["错误
- 从Android Java读取二进制错误UE4-C++
- 程序因二进制错误而停止