diff --git a/include/aidge/operator/FC.hpp b/include/aidge/operator/FC.hpp
index 6a68a6e1816978576dc7bd858c9494c9fe1e7f12..5b81282392c4ba9cc47e2f9283ca8b277715acd8 100644
--- a/include/aidge/operator/FC.hpp
+++ b/include/aidge/operator/FC.hpp
@@ -57,7 +57,7 @@ public:
         setDatatype(DataType::Float32);
     }
 
-    void associateInput(const IOIndex_t /*inputIdx*/, std::shared_ptr<Data> data) override final {
+    void associateInput(const IOIndex_t inputIdx, std::shared_ptr<Data> data) override final {
         assert(inputIdx < 3 && "operators supports only 3 inputs");
         assert(strcmp(data->type(), Tensor::Type)==0 && "input data must be of Tensor type");
         if (inputIdx == 2) {
@@ -96,8 +96,9 @@ public:
         assert(inputIdx < 3 && "FC Operators supports only 3 inputs");
         return mInputs[inputIdx];
     }
-    inline std::shared_ptr<Tensor> getOutput(const IOIndex_t /*outputIdx*/) const override final {
+    inline std::shared_ptr<Tensor> getOutput(const IOIndex_t outputIdx) const override final {
         assert((outputIdx == 0) && "FC Operator has only 1 output");
+        (void) outputIdx;
         return mOutput;
     }
 
@@ -106,8 +107,9 @@ public:
         assert(inputIdx < 3 && "operators supports only 3 inputs");
         return std::static_pointer_cast<Data>(mInputs[inputIdx]);
     }
-    std::shared_ptr<Data> getRawOutput(const IOIndex_t /*outputIdx*/) const override final {
+    std::shared_ptr<Data> getRawOutput(const IOIndex_t outputIdx) const override final {
         assert(outputIdx == 0 && "operator supports only 1 output");
+        (void) outputIdx;
         return std::static_pointer_cast<Data>(mOutput);
     }
 
diff --git a/include/aidge/operator/Producer.hpp b/include/aidge/operator/Producer.hpp
index cbd587037a02aa93faa5b4b58f7d52fb57bea96d..cc02a9af0f754ce09ef49fbeb0f1de183c07c62d 100644
--- a/include/aidge/operator/Producer.hpp
+++ b/include/aidge/operator/Producer.hpp
@@ -55,9 +55,9 @@ public:
         assert(false && "Producer operator takes no input");
     }
 
-    constexpr void computeOutputDims() override final {}
+    void computeOutputDims() override final {}
 
-    constexpr bool outputDimsForwarded() const override final {return true;}
+    bool outputDimsForwarded() const override final {return true;}
 
 
     [[noreturn]] inline Tensor& input(const IOIndex_t /*inputIdx*/) const override final {
@@ -71,8 +71,9 @@ public:
       assert(false && "Producer Operator has no input");
       return nullptr;
     }
-    inline std::shared_ptr<Tensor> getOutput(const IOIndex_t /*outputIdx*/) const override final {
+    inline std::shared_ptr<Tensor> getOutput(const IOIndex_t outputIdx) const override final {
       assert((outputIdx == 0) && "Producer Operator has only 1 output");
+      (void) outputIdx;
       return mOutput;
     }
 
@@ -82,8 +83,9 @@ public:
         return nullptr;
     }
 
-    std::shared_ptr<Data> getRawOutput(const IOIndex_t /*outputIdx*/) const override final {
+    std::shared_ptr<Data> getRawOutput(const IOIndex_t outputIdx) const override final {
         assert(outputIdx == 0 && "operator supports only 1 output");
+        (void) outputIdx;
         return std::static_pointer_cast<Data>(mOutput);
     }