diff --git a/src/ifcgeom_schema_agnostic/IteratorImplementation.cpp b/src/ifcgeom_schema_agnostic/IteratorImplementation.cpp
index 747771fc84..df747fb8e9 100644
--- a/src/ifcgeom_schema_agnostic/IteratorImplementation.cpp
+++ b/src/ifcgeom_schema_agnostic/IteratorImplementation.cpp
@@ -32,14 +32,14 @@ void IteratorFactoryImplementation
::bind(const std::string& schema_name, type
template
IfcGeom::IteratorImplementation* IteratorFactoryImplementation
::construct(const std::string& schema_name, const IfcGeom::IteratorSettings& settings, IfcParse::IfcFile* file) {
const std::string schema_name_lower = boost::to_lower_copy(schema_name);
- std::map::type>::const_iterator it;
+ typename std::map::type>::const_iterator it;
it = this->find(schema_name_lower);
- if (it == end()) {
+ if (it == this->end()) {
throw IfcParse::IfcException("No geometry iterator registered for " + schema_name);
}
return it->second(settings, file);
}
-template IteratorFactoryImplementation;
-template IteratorFactoryImplementation;
+template class IteratorFactoryImplementation;
+template class IteratorFactoryImplementation;
diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp
index a22c552b66..c7da43f20c 100644
--- a/src/ifcparse/IfcParse.cpp
+++ b/src/ifcparse/IfcParse.cpp
@@ -1227,10 +1227,10 @@ IfcFile::IfcFile(IfcParse::IfcSpfStream* s) {
}
IfcFile::IfcFile(const IfcParse::schema_definition* schema)
- : schema_(schema)
- , ifcroot_type_(schema_->declaration_by_name("IfcRoot"))
+ : parsing_complete_(false)
, good_(false)
- , parsing_complete_(false)
+ , schema_(schema)
+ , ifcroot_type_(schema_->declaration_by_name("IfcRoot"))
, MaxId(0)
, tokens(0)
, stream(0)
diff --git a/src/ifcparse/IfcUtil.cpp b/src/ifcparse/IfcUtil.cpp
index 5edc5e4f03..48ea296329 100644
--- a/src/ifcparse/IfcUtil.cpp
+++ b/src/ifcparse/IfcUtil.cpp
@@ -233,6 +233,8 @@ IfcUtil::ArgumentType IfcUtil::from_parameter_type(const IfcParse::parameter_typ
return IfcUtil::Argument_DOUBLE;
case IfcParse::simple_type::string_type:
return IfcUtil::Argument_STRING;
+ case IfcParse::simple_type::datatype_COUNT:
+ throw IfcParse::IfcException("Invalid simple type encountered");
}
}