Visual C++错误C2143:语法错误:在'常量'之前缺少')'

Ric*_*ich 3 c++ syntax-error visual-studio

我在Visual C++中遇到错误,这让我很难过.

错误是错误c2143读取:语法错误:在'常数'之前缺少')'

我的代码行是:

coefficient[i] = (1 - (2 * depth)) + ((t - floor( t + 0.5 ) + 1 ) 2 * depth); 
Run Code Online (Sandbox Code Playgroud)

我在文件的开头有#include,它应该定义floor(double)函数.

对变量的更多解释.

double depth是可以在其中找到此行的类的成员变量
.int i是递增索引值.
double t是递增值.

他们所做的事实上并不重要,但我想澄清一下,这三者都已被定义为基本类型的变量.

我已经完成并验证所有括号都匹配.关于编译器所指的"常量",我有点不知所措.有任何想法吗?

Dea*_*ead 6

我不太确定这是否与编译器给你的错误相同,但是你必须在第二个'2'前加一个'*'符号,这样:

coefficient[i] = (1 - (2 * depth)) + ((t - floor( t + 0.5 ) + 1 ) 2 * depth);
Run Code Online (Sandbox Code Playgroud)

变成这样:

coefficient[i] = (1 - (2 * depth)) + ((t - floor( t + 0.5 ) + 1 ) * 2 * depth);
Run Code Online (Sandbox Code Playgroud)


Jor*_*ans 6

其他海报已经向您展示了声明中的实际错误,但是请将其拆分为多个子语句,以便更清楚地显示您尝试以数学方式进行的操作,因为如果您不这样做,该功能将在未来引起您的头痛"T!


Mau*_*rry 5

coefficient[i] = (1 - (2 * depth)) + ((t - floor( t + 0.5 ) + 1 ) (the problem is here) 2 * depth);
Run Code Online (Sandbox Code Playgroud)