diff --git a/src/Generator/Passes/MultipleInheritancePass.cs b/src/Generator/Passes/MultipleInheritancePass.cs index d7d41b71..c234cf76 100644 --- a/src/Generator/Passes/MultipleInheritancePass.cs +++ b/src/Generator/Passes/MultipleInheritancePass.cs @@ -46,7 +46,7 @@ namespace CppSharp.Passes { var @base = @class.Bases[i]; var baseClass = @base.Class; - if (baseClass.IsInterface) continue; + if (baseClass == null || baseClass.IsInterface) continue; var @interface = GetInterface(baseClass); @class.Bases[i] = new BaseClassSpecifier(@base) { Type = new TagType(@interface) }; diff --git a/tests/CSharp/CSharp.h b/tests/CSharp/CSharp.h index e76fe8ba..71bd0bf9 100644 --- a/tests/CSharp/CSharp.h +++ b/tests/CSharp/CSharp.h @@ -924,3 +924,8 @@ public: int conflictWithProperty(); int getConflictWithProperty(); }; + +template +struct iterator_category_with_traversal : Category, Traversal +{ +};