Visual C ++エラーC2143:構文エラー:見つからない ')' '定数' 前
-
23-08-2019 - |
質問
私は私に本当にハード時間を与えているのVisual C ++でのエラーを取得しています。
構文エラー:見つからない ')' '定数' の前にエラーはエラーC2143の読みであります
私のコードの行があります:
coefficient[i] = (1 - (2 * depth)) + ((t - floor( t + 0.5 ) + 1 ) 2 * depth);
私は床(ダブル)関数を定義する必要があり、ファイルの先頭に#includeしています。
変数のもう少し説明します。
二重深さは、この行が中に見出すことができるクラスのメンバ変数である。
int型私は、インクリメント指標値である。
ダブルtがインクリメント値である。
彼らは何をやっていることは本当に重要ではありませんが、私はすべての3つはすでに基本的なタイプの変数として定義されていることを明確にしたかったのです。
私はを経て、すべての括弧が一致することを確認しました。私は、「一定の」コンパイラが参照しているものにと途方に暮れて一種のです。任意のアイデア?
解決
私は、これはコンパイラがあなたを与えているのと同じエラーがある場合、非常にわからないんだけど、あなたは目の前に「*」印を入れて持っている2番目の「2」は、このように:
coefficient[i] = (1 - (2 * depth)) + ((t - floor( t + 0.5 ) + 1 ) 2 * depth);
このようになります。
coefficient[i] = (1 - (2 * depth)) + ((t - floor( t + 0.5 ) + 1 ) * 2 * depth);
他のヒント
他のポスターはあなたの文の中で、実際のエラーを示しているが、その機能は将来的にあなたの頭痛を引き起こすことが起こっているので、より明確にあなたが数学的にやろうとしているかを示す複数のサブステートメントにそれを分割してくださいそうしない場合は!
coefficient[i] = (1 - (2 * depth)) + ((t - floor( t + 0.5 ) + 1 ) (the problem is here) 2 * depth);
あなたは正しい答えを持っているにもかかわらず、私はあなたがそれに到着しているはず方法を説明するつもりです。
あなたは見つけることができない、長い式にエラーに直面したとき、、あなたはそれを見つけるまで、作品によって、離れて作品を表現を取ります。
この場合、
coefficient[i] = (1 - (2 * depth)) + ((t - floor( t + 0.5 ) + 1 ) 2 * depth);
となります:
firsthalf = (1 - (2 * depth));
secondhalf = ((t - floor( t + 0.5 ) + 1 ) 2 * depth); // Error appears on this line
coefficient[i] = firsthalf + secondhalf;
これは、エラーのソースとして最初の部分を排除する。
次の試行ます:
exprA = (t - floor( t + 0.5 ) + 1 );
exprB = exprA * 2;
exprC = exprB * depth; // Hmm.... this all worked. Start putting it back together.
secondhalf = exprC;
最後の試みます:
exprA = (( MY_TEST_CONSTANT ) 2 * depth); // Error now becomes obvious.
係数[i]は=(1 - (2 *奥行き))+((トン - ?階(T + 0.5)+ 1)の 2(2はここで何をしているのです)の*奥行き) ;
私は、同様のエラーに直面しました。 enum定数の一つが他の場所のコードで宣言されたからです。