[geos-devel] [GEOS] #638: Recommend a static_cast around assert strings

GEOS geos-trac at osgeo.org
Tue Jan 31 13:51:46 PST 2017

#638: Recommend a static_cast around assert strings
 Reporter:  goatbar     |       Owner:  geos-devel@…
     Type:  defect      |      Status:  new
 Priority:  major       |   Milestone:  3.7.0
Component:  Default     |     Version:  3.3.8
 Severity:  Unassigned  |  Resolution:
 Keywords:              |

Comment (by goatbar):

 mloskot: Can you please explain and give a reference why `!!!""` is
 equivalent to `!static_cast<bool>("")`?  I've never seen that in C++ for C

 If I try `!!!` in C++11/14, I get the same type of error:

 src/operation/union/CascadedUnion.cpp:119:23: error: implicit conversion
 turns string literal into bool: 'const char [24]' to 'bool' [-Werror
             assert(!!!"should never be reached");

 I found this for *javascript* http://stackoverflow.com/questions/21154510


Ticket URL: <https://trac.osgeo.org/geos/ticket/638#comment:12>
GEOS <http://trac.osgeo.org/geos>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).

More information about the geos-devel mailing list