diff --git a/neural_network/include/NeuralNetwork.hpp b/neural_network/include/NeuralNetwork.hpp
index 1ef9da2e08fff31136e62f3aaf0ef649b7565d6a..aad9f126e95e31996d188b18fadb548446a74c26 100644
--- a/neural_network/include/NeuralNetwork.hpp
+++ b/neural_network/include/NeuralNetwork.hpp
@@ -126,6 +126,8 @@ class NeuralNetwork
 
   public :
 
+  virtual ~NeuralNetwork() = 0;
+
   /// @brief Convert a dynet expression to a string (usefull for debug purposes)
   ///
   /// @param expr The expression to convert.
diff --git a/neural_network/src/NeuralNetwork.cpp b/neural_network/src/NeuralNetwork.cpp
index ee12fb58c697024c5d7170512e9da43fcfb5613b..87aaeea293e05a7f703899835591cd3131322cef 100644
--- a/neural_network/src/NeuralNetwork.cpp
+++ b/neural_network/src/NeuralNetwork.cpp
@@ -5,11 +5,14 @@
  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/
+
 #include "NeuralNetwork.hpp"
 
 int NeuralNetwork::randomSeed = 0;
 bool NeuralNetwork::dynetIsInit = false;
 
+NeuralNetwork::~NeuralNetwork() {};
+
 std::string NeuralNetwork::expression2str(dynet::Expression & expr)
 {
   std::string result = "";