質問

Getting this error, looks like these errors are fairly unique to instance and all of the questions seemed to reference templates, and this does not.

So what I'm getting is:

Error 5 error LNK2019: unresolved external symbol "public: class Vec3 * __thiscall Patch::bezCurveInterp(class Curve,float)" (? bezCurveInterp@Patch@@QAEPAVVec3@@VCurve@@M@Z) referenced in function "public: class Vec3 * __thiscall Patch::bezPatchInterp(float,float)" (?bezPatchInterp@Patch@@QAEPAVVec3@@MM@Z) C:\Users\Sara\Documents\Sp14\184\Bezeir\Project1\Bezier.obj Project1

The function mentioned is defined as thus in bezier.cpp:

#include "Bezier.h"

Vec3* bezCurveInterp(Curve c, float u) {
    Vec3* res = new Vec3[2];
    return res;
}

In bezier.h I have (among other things):

#ifndef BEZIER_H
#define BEZIER_H
#include "Primitives.h"

class Patch {
public:
    Vec3* bezCurveInterp(Curve, float);

Vec3 is defined in "Primitives.h":

#ifndef PRIMITIVES_H
#define PRIMITIVES_H

using namespace std;
// A class for representing Vec3s

class Vec3 {
public:
    Vec3(); //among other things
 };

And in "Primitives.cpp":

#include "Primitives.h"

Vec3::Vec3() {
    x = 0;
    y = 0;
    z = 0;
}

Anything standing out? Help is appreciated c++/visual studio is turning out to be a nightmare..........

役に立ちましたか?

解決

You are missing Patch:: from bezCurveInterp

Vec3* Patch::bezCurveInterp(Curve c, float u)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top