2012-02-27 11 views
0

私は、次のインライン機能を持っている:C++構文の説明

inline void normalizeGrayOutputCentredSigmoide(const type meanValue=(type)0.0, const type sensitivity=(type)2.0, const type maxOutputValue=(type)255.0) 
{ 
    normalizeGrayOutputCentredSigmoide(meanValue, sensitivity, 255.0, this->Buffer(), this->Buffer(), this->getNBpixels()), maxOutputValue; 
}; 

このラインで次のコンパイラの警告が表示されます。

warning: right-hand operand of comma has no effect 

誰もがこの種の書かれた内容を説明することはできます関数が行うことになって?

この場合、カンマ演算子は何を意味しますか?

+1

最後のパラメータの前にメソッドを閉じる –

答えて

2

maxOutputValueは、あなたの関数のパラメータの外側にあると言っているものである、それは後に機能し、「役に立たない」値として解釈されます。したがって、コンパイラはcomma operatorの右オペランドとして処理しますが、この場合有効ではありません。詳細についてはリンク先のウィキペディアのページを参照してください。

1

あなたはmaxOutputValue前に括弧を閉じたので、コンパイラはエラーが