--- a/oct/comp_idgt_fac.cc
+++ b/oct/comp_idgt_fac.cc
@@ -15,10 +15,10 @@
 							  const octave_idx_type a, const octave_idx_type M,
 							  Complex *f)
 {
-   idgt_fac_d(reinterpret_cast<const double (*)[2]>(coef),
-              reinterpret_cast<const double (*)[2]>(gf),
+   idgt_fac_d(reinterpret_cast<const double _Complex*>(coef),
+              reinterpret_cast<const double _Complex*>(gf),
               L,W,a,M,
-			  reinterpret_cast<double (*)[2]>(f));
+			  reinterpret_cast<double _Complex*>(f));
 }
 
 static inline void fwd_idgt_fac(const FloatComplex *coef, const FloatComplex *gf,
@@ -26,10 +26,10 @@
 							  const octave_idx_type a, const octave_idx_type M,
 							  FloatComplex *f)
 {
-   idgt_fac_s(reinterpret_cast<const float (*)[2]>(coef),
-              reinterpret_cast<const float (*)[2]>(gf),
+   idgt_fac_s(reinterpret_cast<const float _Complex*>(coef),
+              reinterpret_cast<const float _Complex*>(gf),
               L,W,a,M,
-			  reinterpret_cast<float (*)[2]>(f));
+			  reinterpret_cast<float _Complex*>(f));
 }
 
 template <class LTFAT_TYPE, class LTFAT_REAL, class LTFAT_COMPLEX>
@@ -79,4 +79,4 @@
 
   return octave_value (f);
 }
-*/+*/