获得此错误,看起来这些错误对于实例而言是相当独特的,并且所有问题似乎都是参考模板,而事实并非如此。
所以我得到的是:
错误5错误LNK2019:未解析的外部符号“public:class Vec3 * __thiscall Patch :: bezCurveInterp(class Curve,float)“(? bezCurveInterp @ Patch @@ QAEPAVVec3 @@ VCurve @@ M @ Z)在函数“public:class Vec3 *”中引用 __thiscall Patch :: bezPatchInterp(float,float)“(?bezPatchInterp @ Patch @@ QAEPAVVec3 @@ MM @ Z) C:\ Users \ Sara \ Documents \ Sp14 \ 184 \ Bezeir \ Project1 \ Bezier.obj Project1
所提到的函数在bezier.cpp中定义:
#include "Bezier.h"
Vec3* bezCurveInterp(Curve c, float u) {
Vec3* res = new Vec3[2];
return res;
}
在bezier.h中我(除其他外):
#ifndef BEZIER_H
#define BEZIER_H
#include "Primitives.h"
class Patch {
public:
Vec3* bezCurveInterp(Curve, float);
Vec3在“Primitives.h”中定义:
#ifndef PRIMITIVES_H
#define PRIMITIVES_H
using namespace std;
// A class for representing Vec3s
class Vec3 {
public:
Vec3(); //among other things
};
在“Primitives.cpp”中:
#include "Primitives.h"
Vec3::Vec3() {
x = 0;
y = 0;
z = 0;
}
有什么突出的吗?感谢帮助c ++ / visual studio变成了一场噩梦..........
答案 0 :(得分:0)
你缺少来自bezCurveInterp的Patch ::
Vec3* Patch::bezCurveInterp(Curve c, float u)