亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

BOX2D - NULL 常量隱式轉換為“bool”[-Wnull-conversion]

BOX2D - NULL 常量隱式轉換為“bool”[-Wnull-conversion]

一只名叫tom的貓 2023-07-19 10:07:26
我正在嘗試使用 android ndk 將 Box2D 編譯為 android 的 64 位版本但是我收到了很多這樣的錯誤:andEnginePhysicsBox2DExtension/src/main/jni\Box2D/Collision/Shapes/b2ChainShape.h:111:20:警告:NULL 常量隱式轉換為“bool”[-Wnull-conversion] m_hasPrevVertex = NULL; ~ ^~~~ 假的這就是我的 b2ChainShape.h 的內容/** Copyright (c) 2006-2010 Erin Catto http://www.box2d.org** This software is provided 'as-is', without any express or implied* warranty.  In no event will the authors be held liable for any damages* arising from the use of this software.* Permission is granted to anyone to use this software for any purpose,* including commercial applications, and to alter it and redistribute it* freely, subject to the following restrictions:* 1. The origin of this software must not be misrepresented; you must not* claim that you wrote the original software. If you use this software* in a product, an acknowledgment in the product documentation would be* appreciated but is not required.* 2. Altered source versions must be plainly marked as such, and must not be* misrepresented as being the original software.* 3. This notice may not be removed or altered from any source distribution.*/#ifndef B2_CHAIN_SHAPE_H#define B2_CHAIN_SHAPE_H#include <Box2D/Collision/Shapes/b2Shape.h>class b2EdgeShape;/// A chain shape is a free form sequence of line segments./// The chain has two-sided collision, so you can use inside and outside collision./// Therefore, you may use any winding order./// Since there may be many vertices, they are allocated using b2Alloc./// Connectivity information is used to create smooth collisions./// WARNING: The chain will not collide properly if there are self-intersections.
查看完整描述

1 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

你在這里收到的警告

NULL 常量隱式轉換為 'bool' [-Wnull-conversion] m_hasPrevVertex = NULL; ~ ^~~~ 假的

告訴您,您的字段是用而不是實際的布爾值bool初始化的。NULL例如m_hasPrevVertexm_hasNextVertex。因此,編譯器嘗試通過隱式將這些值設置為false并通知您這一事實來解決此問題。

在這種情況下,這不是嚴重錯誤,但絕對是代碼味道。(盡管,也許不同的編譯器實際上會在這里拋出錯誤,我不確定)

true您可以通過簡單地將所有布爾值初始化為或 來消除這些警告false,具體取決于您的用例。


查看完整回答
反對 回復 2023-07-19
  • 1 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號