IVGCVSW-2814 AllTypesAreEqualImpl handles odd num params correctly.

Change-Id: I9b661cabab41f6997dac808cca15995834bb0313
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp
index cdc6aca..d89e548 100644
--- a/src/backends/reference/RefLayerSupport.cpp
+++ b/src/backends/reference/RefLayerSupport.cpp
@@ -70,8 +70,8 @@
     bool m_Res = true;
 };
 
-template<class none = void>
-bool AllTypesAreEqualImpl()
+template<typename T>
+bool AllTypesAreEqualImpl(T t)
 {
     return true;
 }
@@ -81,7 +81,7 @@
 {
     static_assert(std::is_same<T, TensorInfo>::value, "Type T must be a TensorInfo");
 
-    return (t1.GetDataType() == t2.GetDataType()) && AllTypesAreEqualImpl(rest...);
+    return (t1.GetDataType() == t2.GetDataType()) && AllTypesAreEqualImpl(t2, rest...);
 }
 
 struct TypesAreEqual : public Rule