diff --git a/Modules/Core/Functor/include/otbFunctorImageFilter.h b/Modules/Core/Functor/include/otbFunctorImageFilter.h
index 3d46b8633bcf5d6b4ebc3dcb7ff2a26e80b9e2d2..b5fb4a2ff9ed8ab67baff13db10ca676e2dddd1a 100644
--- a/Modules/Core/Functor/include/otbFunctorImageFilter.h
+++ b/Modules/Core/Functor/include/otbFunctorImageFilter.h
@@ -64,7 +64,7 @@ template <class T> struct IsSuitableType<std::complex<T>> : IsSuitableType<T>::t
 template <class T> struct IsSuitableType<itk::VariableLengthVector<T>> : IsSuitableType<T>::type {};
 
 /// Unwrap FixedArray
-template <class T, size_t N> struct IsSuitableType<itk::FixedArray<T,N>> : IsSuitableType<T>::type {};
+template <class T, unsigned int N> struct IsSuitableType<itk::FixedArray<T,N>> : IsSuitableType<T>::type {};
 
 /// Unwrap RGBPixel
 template <class T> struct IsSuitableType<itk::RGBPixel<T>> : IsSuitableType<T>::type {};
diff --git a/Modules/Core/Functor/test/otbFunctorImageFilter.cxx b/Modules/Core/Functor/test/otbFunctorImageFilter.cxx
index 29318cd5ff20a10ba1653081321e51bdc7576d3f..bc3c5f624f848c90a5e4b25950477c0e38cac9e3 100644
--- a/Modules/Core/Functor/test/otbFunctorImageFilter.cxx
+++ b/Modules/Core/Functor/test/otbFunctorImageFilter.cxx
@@ -149,6 +149,7 @@ template <typename TOut,typename TIn> struct TestOperatorVoidReturn
                                             // avoid C++ parse
                                             // ambiguity
   auto res = filter->template GetVariadicInput<0>();
+  
   filter->Update();
 
   // Test named input version
@@ -160,7 +161,10 @@ template <typename TOut,typename TIn> struct TestOperatorVoidReturn
   res = filter1->template GetVariadicNamedInput<tag>();
   res = filter1->GetVariadicNamedInput(tag{});
   filter1->Update();
-  
+
+  // Hack to silent -Wunused-but-set-variable
+  std::cout<<res<<std::endl;
+
   // Test with void return
   auto functorWithVoidReturn = TestOperatorVoidReturn<TOut,TIn>{};
   auto filterWithVoidReturn = NewFunctorFilter(functorWithVoidReturn);