title: "Implicit destructor" in c++
body: <p>I have some header file Coordinate.h, some Coordinate.inl and some build_geometry.cpp using Coordinate type.</p>
  
  <p>Coordinate.h has two versions, older one with <code>~Coordinate();</code> defined and the newer one without destructor definition line. Similarly, Coordinate.inl in newer version does not mention any destructor definition and older version contains: </p>
  
  <pre><code>    INLINE
      Coordinate::~Coordinate()
      {
      }
  </code></pre>
  
  <p>Now I have to compile build_geometry.cpp against Coordinate.h/Coordinate.inl which works fine only with the older version of Coordinate.h/Coordinate.inl. Otherwise it will ends with error:</p>
  
  <pre><code>    build_geometry.o: build_geometry.cpp:203: more undefined references to `geos::geom::Coordinate::~Coordinate()' follow
      collect2: ld returned 1 exit status
  </code></pre>
  
  <p>It is apparently caused at ends of cycles/methods in which Coordinate type is used.</p>
  
  <p>So the question is how to compile and link without these empty destructors declared somewhere?</p>