diff --git a/compiler/cpp/src/parse/t_struct.h b/compiler/cpp/src/parse/t_struct.h
index d296473..05cd216 100644
--- a/compiler/cpp/src/parse/t_struct.h
+++ b/compiler/cpp/src/parse/t_struct.h
@@ -77,7 +77,7 @@
     std::string rv = "{";
     std::vector<t_field*>::const_iterator m_iter;
     for (m_iter = members_.begin(); m_iter != members_.end(); ++m_iter) {
-      rv += (**m_iter).get_fingerprint_material();
+      rv += (*m_iter)->get_fingerprint_material();
       rv += ";";
     }
     rv += "}";
@@ -88,7 +88,7 @@
     t_type::generate_fingerprint();
     std::vector<t_field*>::const_iterator m_iter;
     for (m_iter = members_.begin(); m_iter != members_.end(); ++m_iter) {
-      (**m_iter).get_type()->generate_fingerprint();
+      (*m_iter)->get_type()->generate_fingerprint();
     }
   }
 
diff --git a/compiler/cpp/src/parse/t_type.h b/compiler/cpp/src/parse/t_type.h
index 0a6fbbc..61975d5 100644
--- a/compiler/cpp/src/parse/t_type.h
+++ b/compiler/cpp/src/parse/t_type.h
@@ -72,9 +72,6 @@
     MD5Init(&ctx);
     MD5Update(&ctx, (unsigned char*)(material.data()), material.size());
     MD5Final(fingerprint_, &ctx);
-    //std::cout << get_name() << std::endl;
-    //std::cout << material << std::endl;
-    //std::cout << get_ascii_fingerprint() << std::endl << std::endl;
   }
 
   bool has_fingerprint() const {
