Home › Forums › GAMES在线课程(现代计算机图形学入门)讨论区 › 作业六 编译报错
Tagged: 作业六
- This topic has 10 replies, 6 voices, and was last updated 5 years, 7 months ago by
anyuan.
-
AuthorPosts
-
-
作业六的代码在win,IDE是vs。显示recursiveBuild里
node->left = recursiveBuild(std::vector{objects[0]});
node->right = recursiveBuild(std::vector{objects[1]});
这两条语句出错,E0289 没有与参数列表匹配的构造函数 “std::vector” 实例同时还有LNK2001 无法解析的外部符号 “public: double & __cdecl Vector3f::operator[](int)” (??AVector3f@@QEAAAEANH@Z) Debug F:\GAMES\Debug\Debug\BVH.obj 1
在虚拟机的环境里报错在附件里。哪位大佬帮忙看一下是怎么回事qaq
而且我还有一点不是很明白,在Bounds3::IntersectP(const Ray& ray, const Vector3f& invDir,const std::array<int, 3>& dirIsNeg)里,dirIsNeg这个参数是在哪里需要,为什么感觉不需要这个参数一直没有用到。
Attachments:
You must be logged in to view attached files. -
改成这样好像编译就不报错了,std::vector<Object*>{objects[0]}
-
你好,我改完后这两条语句不报错了,但还是有LNK2001 无法解析的外部符号 “public: double & __cdecl Vector3f::operator[](int)” (??AVector3f@@QEAAAEANH@Z) Debug F:\GAMES\Debug\Debug\BVH.obj 1。请问这是怎么回事qaq
This post has received 1 vote up.
-
-
JunjieLi
ParticipantdirisNeg我是这么用的,例如,如果x>0,那么x小的就是近的,x大的就是远的;反之x<0时,x大的就是近的,x小的就是远的
-
但是感觉没必要额,在构造bound3时,pMin和pMax就已经大小关系固定了。pMin算的就是进入时间,pMax算的是出去的时间,直接按时间比较就可以了,感觉没必要关心符号的问题额
-
哦,我想明白了。多谢多谢
-
老铁,我没想明白这个变量咋用,你能再解释下不
-
anyuan
Participant怎么补的?
-
-
-
-
-
我猜你使用了Vector3f的索引方法,但可能这个索引方法还有点问题,如果你要访问Vector3f变量中的元素,可以使用v.x,v.y和v.z的方式访问。
This post has received 1 vote up.-
对的,我把那部分索引的代码补全了就好啦QAQ
-
-
Vector.hpp 中只声明了
double& operator[](int index), 但没有给出其定义, 导致编译器在链接时找不到该函数.This post has received 2 votes up.
-
-
AuthorPosts
- You must be logged in to reply to this topic.