diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java index 41dd2e88182..f854e756b80 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java @@ -739,7 +739,8 @@ public class CPPTemplates { IType t = (IType) argMap.get(type); if (t == null) { for (int i = 0; i < argMap.size(); i++) { - if (type.isSameType((IType) argMap.keyAt(i))) { + Object key = argMap.keyAt(i); + if (key instanceof IType && type.isSameType((IType) key)) { newType = (IType) argMap.getAt(i); break; }