奇怪的编译器错误

德韦恩

我无法理解的以下代码传出大量错误。

/ usr / bin / ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位0具有无效的符号索引11

它们似乎都与上述相似,但结尾处的数字不同。这很可能是由于我试图从代码内删除类定义之一。

#include <string>
using namespace std;

static const float MAX_SATCHEL_VOLUME = 0.20; // in m^3
static const float MAX_CARTON_VOLUME = 0.50; // in m^3
static const float MAX_PALLET_VOLUME = 2.00;// in m^3

static const float SATCHEL_COST_PER_KILO = 2.00; // in dollars
static const float CARTON_COST_PER_KILO = 1.00; // in dollars
static const float PALLET_COST_PER_KILO = 0.50; // in dollars

class freight
{
    public:
        enum FreightType
        {
            SATCHEL,
            CARTON,
            PALLET,
        };
        float cost()
        {
            return perKiloCost * weight;
        }
    private:
        freight (string set_address, float set_length, float set_width, float set_height, float set_weight);
        string address;
        float length;
        float width;
        float height;
        float weight;
        FreightType type;
        float perKiloCost;
        ~freight();
};

freight::freight (string set_address, float set_length, float set_width, float set_height, float set_weight)
{
    address = set_address;
    length = set_length;
    width = set_width;
    height = set_height;
    weight = set_weight;
    type = PALLET;
    perKiloCost = 1.00;
        {
            float volume = length * width * height;
            if(volume > MAX_PALLET_VOLUME)
            {
                type = PALLET;
                perKiloCost = PALLET_COST_PER_KILO;
            }
            else if(volume > MAX_CARTON_VOLUME)
            {
                type = CARTON;
                perKiloCost = CARTON_COST_PER_KILO;
            }
            else
            {
                type = SATCHEL;
                perKiloCost = SATCHEL_COST_PER_KILO;
            }
        }
}

freight::~freight()
{

}
来自莫斯科的弗拉德

您必须使用限定名称 std::string

freight(std::string set_address, float set_length, float set_width, float set_height, float set_weight):

另一个问题是,您两次用参数定义了构造函数:一个在类定义内,另一个在类定义外。删除一个定义。

同样,您在类定义之外定义了析构函数。首先,您必须至少在类定义中声明它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

奇怪的编译器错误

来自分类Dev

奇怪的编译器错误

来自分类Dev

Elm中奇怪的编译器错误

来自分类Dev

Go中奇怪的编译器错误

来自分类Dev

错误:声明为“ <...>”。奇怪的编译器错误

来自分类Dev

如何解决奇怪的Haxe编译器错误?

来自分类Dev

C#mono的奇怪编译器错误

来自分类Dev

C和DLC编译器的奇怪解析错误

来自分类Dev

简单C链表中的奇怪编译器错误

来自分类Dev

C和DLC编译器的奇怪解析错误

来自分类Dev

奇怪的未声明变量编译器错误

来自分类Dev

奇怪的编译问题-未识别的类没有编译器错误

来自分类Dev

隐含编译器错误?

来自分类Dev

Swift编译器错误

来自分类Dev

很多编译器错误

来自分类Dev

Maven编译器错误

来自分类Dev

编译器中的错误?

来自分类Dev

Prisma 编译器错误

来自分类Dev

C ++,实现函数`int next(std :: string param)`时出现奇怪的编译器错误

来自分类Dev

奇怪的编译器错误:无法将参数从'int'转换为'int &&'

来自分类Dev

实现Ordered [A [B]]的Scala泛型给出了奇怪的编译器错误

来自分类Dev

使用shared_ptr和make_shared时出现奇怪的编译器错误

来自分类Dev

由于奇怪的“无法创建编译器生成的文件”错误,QT5.6.2 构建无法工作

来自分类Dev

尝试构造 std::thread 时出现奇怪的编译器错误:

来自分类Dev

C编译器错误或程序错误?

来自分类Dev

错误的重载导致编译器错误

来自分类Dev

可能的编译器错误:两台计算机之间使用Intel编译器的boost bessel函数会产生奇怪的结果吗?

来自分类Dev

另一个奇怪的ASP.net错误:编译器失败,错误代码为255

来自分类Dev

Mule升级3.6编译器错误

Related 相关文章

热门标签

归档