只是想开始一些C ++并创建这些简单的类:
Ellipsoid.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__) */
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的未定义符号: &#34; Ellipsoid :: getAxisA()&#34;,引自: _main in Ellipsoid.o ld:找不到架构x86_64的符号 我真的无法弄清楚什么是错的。试图将架构设置为32位,但这不会起作用
答案 0 :(得分:0)
缺少Ellipsoid::getAxisA()
函数的定义。你必须在某处定义。现在你只有一个声明,而不是一个定义。定义可能如下所示:
double Ellipsoid::getAxisA() { return axisA; }
并且会住在Ellipsoid.cpp。