这是我的代码
void execute() {
for (u32 f = 0; f < numForces; f++)
{
u32 length = end - start;
PhysicalObject* arr = objects + start;
std::vector<bool> tmp(length);
bool* tmpArr = tmp.data();
forces[f].affected(arr, length, tmpArr);
for(u32 index = 0; index < length; index++)
if (tmp[index])
forces[f].apply(arr[index]);
}
}
Run Code Online (Sandbox Code Playgroud)
这条线
bool* tmpArr = tmp.data();
Run Code Online (Sandbox Code Playgroud)
抛出我的错误:"void值不被忽略,因为它应该是"我已经查看了文档,我确定vector的数据方法是无效的,应该返回一个指针:> http://www.cplusplus.com /参考/载体/载体/数据/
什么可能出错?
重要的事情:
不幸的vector<bool>是很特别.
https://en.cppreference.com/w/cpp/container/vector_bool
切换到最好你可能会更好 vector<uint8_t>
| 归档时间: |
|
| 查看次数: |
432 次 |
| 最近记录: |