gpt4 book ai didi

c++ - 简单错误 : expected primary-expression before ';' token

转载 作者:行者123 更新时间:2023-11-30 01:58:40 25 4
gpt4 key购买 nike

我正在编写一个函数来创建透视投影矩阵,但遇到了一些错误。你能帮助我吗?我用“-”标记了错误的行

typedef GLfloat mat4x4[16];

功能:

void perspective(float fovy, float aspect, float near, float far, mat4x4& mat)
{
for(int i=0;i<16;i++)
mat[i]=0;
-float range = tan(degreesToRadians(fovy)/2.0f) * near;
float left = range * aspect;
float right = range * aspect;
float bottom = range;
float top = range;
-mat[0] = (2.0f * near) / (right - left);
-mat[5] = (2.0f * near) / (top - bottom);
--mat[10] = (far + near) / (far - near);
-mat[11] = 1.0f;
-mat[14] = (2.0f * far * near) / (far - near);
}

错误:

In function 'void perspective(float, float, float, float, GLfloat (&)[16])':

błąd:expected primary-expression before ';' token
błąd:expected primary-expression before ')' token
błąd:expected primary-expression before ')' token
błąd:expected primary-expression before ')' token
błąd:expected primary-expression before ')' token
błąd:expected primary-expression before ')' token
błąd:expected primary-expression before ')' token

最佳答案

我的猜测是您包含了一个将 nearfar 定义为宏的恶意 header 。这些在古老的 16 位版本的 Windows 上用于限定指针(尽管,如果没有记错的话,我认为 DOS/Windows header 本身使用了不那么邪恶的 NEARFAR ),而且这种怪异现象的某些痕迹可能仍然存在。

要么避免使用这些名称;或者想办法避免这些宏定义;或切换到向后兼容性包袱较少的平台。

关于c++ - 简单错误 : expected primary-expression before ';' token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17069757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com