E:\bird\bird\bird\mainscene.cpp:93: error: variable or field 'updateScore' declared void void updateScore(m_barriers[i].score); ^
时间: 2024-04-16 17:26:21 浏览: 17
这个错误是因为定义的函数 `updateScore` 的参数类型不正确。根据错误信息,它被声明为 `void` 类型,但是给了一个参数 `m_barriers[i].score`。`void` 类型的函数不接受任何参数。
要解决这个问题,你需要检查 `updateScore` 函数的声明并确保它的参数类型正确。如果你想传递 `m_barriers[i].score` 作为参数,你需要将参数的类型与它匹配,并且在函数声明和定义中都进行修改。例如,如果 `m_barriers[i].score` 是一个整数,你可以这样修改函数的声明和定义:
```cpp
void updateScore(int score);
```
请根据你的代码适当修改函数声明和定义,确保参数类型正确。
相关问题
E:\bird\bird\bird\mainsence2.cpp:1: error: Mainscene2.h: No such file or directory
这个错误提示说明在 `mainsence2.cpp` 文件中无法找到名为 `Mainscene2.h` 的头文件。请检查以下几个可能的原因:
1. 文件路径错误:确保 `Mainscene2.h` 文件位于正确的目录下,并且文件名的大小写与代码中的引用一致。如果文件路径有变动,需要相应地更新包含该头文件的代码。
2. 文件未包含:确认在 `mainsence2.cpp` 文件中正确地包含了 `Mainscene2.h` 头文件。例如,可以使用 `#include "Mainscene2.h"` 的形式进行包含。
3. 编译选项错误:如果 `Mainscene2.h` 文件位于一个不同的目录中,可能需要在编译选项中添加该目录以便编译器能够找到该头文件。具体的编译选项可能因所使用的编译器和构建工具而有所不同。
请检查以上几点,并确保 `Mainscene2.h` 头文件存在、正确包含和可访问。如有必要,请调整文件路径或更新编译选项。
E:\bird\bird\bird\mainscene.cpp:84: warning: deleting array '((MainScene*)this)->MainScene::m_barriers' delete m_barriers; ^
这个警告通常是由于使用了错误的删除操作符导致的。
根据警告信息,你尝试使用 `delete` 删除了一个数组 `m_barriers`。然而,根据你的描述,`m_barriers` 应该是一个指针而不是指向数组的指针。
要想正确删除指向数组的指针,应该使用 `delete[]` 运算符而不是 `delete` 运算符。因此,你需要将 `delete m_barriers;` 改为 `delete[] m_barriers;`。
修正后的代码如下:
```cpp
// 删除数组指针时使用 delete[]
delete[] m_barriers;
```
这样就可以避免警告并正确地删除指向数组的指针。请确保只有在使用 `new[]` 运算符分配内存时才使用 `delete[]` 运算符来删除对应的数组。如果你使用的是普通的指针(而不是指向数组的指针),则应该使用 `delete` 运算符来进行删除。