0

只是想开始一些 C++ 并创建了这些简单的类:

椭球体.h

#ifndef __Ellipsoid__Ellipsoid__
#define __Ellipsoid__Ellipsoid__

#include <iostream>
#include <cassert>


class Ellipsoid {
private:
    double axisA;
    double flatteningF;

public:
    Ellipsoid() {};
   Ellipsoid(double aIn, double fIn);
    double getAxisA();
    double getFlatteningF();



};

#endif /* defined(__Ellipsoid__Ellipsoid__) */

椭球体.cpp

#include "Ellipsoid.h"


Ellipsoid::Ellipsoid (double aIn, double fIn) : axisA(aIn), flatteningF(fIn) {};

int main() {
    std::cout << "bla";
    Ellipsoid el = Ellipsoid(44.3, 32);
    double test = el.getAxisA();


    return 0;
}

因为你在这里看不到什么特别的东西。我在 osx10.8 上使用 xcode。但是当我运行程序时,我遇到了这个错误:架构 x86_64 的未定义符号:“Ellipsoid::getAxisA()”,引用自:Ellipsoid.o ld 中的 _main:未找到架构 x86_64 的符号,我真的可以不知道出了什么问题。试图将架构设置为 32 位,但这也不起作用

4

1 回答 1

0

Ellipsoid::getAxisA()缺少函数的定义。你必须在某个地方定义。现在你只有一个声明,没有定义。定义可能如下所示:

double Ellipsoid::getAxisA() { return axisA; }

并将住在 Ellipsoid.cpp 中。

于 2012-10-29T19:42:49.153 回答