C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 为什么这给了我“对构造函数和析构函数的未定义引用”?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下几段代码

LeoR_624_11845@edia.h

#include "MusicMetaDatter.h"

#ifndef LeoR_624_11845@EDIA_H
#define LeoR_624_11845@EDIA_H

namespace LeoR_624_11845@edia
{
    typedef enum
    {
        read,write
    } FileMode;
}

#endif // LeoR_624_11845@EDIA_H
@H_575_2@musicMetaDatter.h

#ifndef MUSICMetaDATTER_H
#define MUSICMetaDATTER_H

#include "LeoR_624_11845@edia.h"
#include <String>

/**
* MetaDATTER
* @Version 1.0.0a
* @Author: Sergio Andrés Ibañez (Leonnears)
* @Twitter: Leonnears
* @Package: LeoR_624_11845@edia
*/

    namespace LeoR_624_11845@edia
    {
        typedef enum
        {
            mp3,m4a,flac,ape,wavPack,aiff,wav,ogg,tta
        } AudioFileType;

        class MusicMetaDatter
        {
            public:
                MusicMetaDatter(std::string filename,AudioFileType type,FileMode modE);
                virtual ~MusicMetaDatter();

            private:
                std::string md_filename;
                AudioFileType md_fileType;
                FileMode md_fileMode;
        };
    }

    #endif // MUSICMetaDATTER_H
@H_575_2@musicMetaDatter.cpp

#include "MusicMetaDatter.h"
#include <String>

LeoR_624_11845@edia::MusicMetaDatter::MusicMetaDatter(std::string filename,FileMode modE)
{
    this -> md_filename = filename;
    this -> md_fileType = type;
    this -> md_fileMode = mode;
}

LeoR_624_11845@edia::MusicMetaDatter::~MusicMetaDatter()
{
    //dtor
}

MetaDatterTest.cpp

#include <iostream>
#include "LeoR_624_11845@edia.h"
#include <String>
using namespace std;

int main()
{
    LeoR_624_11845@edia::MusicMetaDatter Meta("troll",LeoR_624_11845@edia::mp3,LeoR_624_11845@edia::read);
    return 0;
}

当我编译MetaDatterTest时,我收到以下错误

定义引用LeoR_624_11845@edia :: MusicMetaDatter :: MusicMetaDatter(std :: String,LeoR_624_11845@edia :: AudioFileType,LeoR_624_11845@edia :: FileModE)
未定义的引用LeoR_624_11845@edia :: MusicMetaDatter :: ~MusicMetaDatter()’
未定义的引用LeoR_624_11845@edia :: MusicMetaDatter :: ~MusicMetaDatter()’

所有文件都在同一目录中.我正在使用mingw 4.4.1

有人可以帮我弄这个吗?它使我无法理解.

解决方法

你没有给出你的编译命令,但我怀疑它缺少MusicMetaDatter.cpp.

应该是这样的

g++ -o MetaDatterTest MetaDatterTest.cpp MusicMetaDatter.cpp

大佬总结

以上是大佬教程为你收集整理的c – 为什么这给了我“对构造函数和析构函数的未定义引用”?全部内容,希望文章能够帮你解决c – 为什么这给了我“对构造函数和析构函数的未定义引用”?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。