C++, получите это при попытке создания классов: error: no 'void media::*()', функция-член объявлена ​​в классе 'media'

Несколько плохо знаком с C++, пытаясь создать классы / функции, чтобы мой будущий код был чистым. Я использую Code:: Blocks для создания своей программы и в данный момент получаю вышеуказанное сообщение для следующих cpp и заголовочных файлов для disctype, ripmusic и dvdmanip. Компилятор gcc, и это не основная программа.

Заголовочный файл:

#ifndef MUSIC_H
#define MUSIC_H
using namespace std;

class media
{
public:
    media();
    virtual ~media();

protected:
    string detectdisc;
private:

};

class disctype: public media
{
public:
    disctype();
};

class ripmusic: public media
{
public:
    ripmusic();
};

class dvdmanip: public media
{
public:
    dvdmanip();
};

#endif // MUSIC_H

Файл cpp:

#include "media.h"

//using namespace std;
media::media()
{
//ctor
}

media::~media()
{
//dtor
}

void media::disctype()
{
    do
        detectdisc= system(cdde -b)
    while detectdisc != ""

    if (detectdisc == "An audio cd was inserted.")
    {
        ripmusic();
    }
    else if (detectdisc == "A dvd was inserted.")
    {
        dvdmanip();
    }
}

void media::ripmusic()
{
    musicrip.hidden=false
}

void media::dvdmanip()
{
    //musicrip.hidden=false
}

3 ответа

Сообщения об ошибках говорят о том, что у вас нет указанных методов члена в СМИ (в частности, media не содержит членов ripmusic(), dvdmanip() anddisctype()`, который вы пытаетесь определить позже. Ваши определения членов должны быть изменены на:

void disctype::disctype(){...}
void ripmusic::ripmusic(){...}
void dvdmanip::dvdmanip(){...}

Вы используете наследует классы как методы.

disctype();
ripmusic()
dvdmanip()

объявлены как классы, поэтому вы не можете писать

 void media::dvdmanip() {} etc...

Определите свои функции как члены класса мультимедиа.

Измените заголовочный файл на:

#ifndef MUSIC_H
#define MUSIC_H
using namespace std;

class media
{
public:
    media();
    virtual ~media();
    void disctype();
    void ripmusic();
    void dvdmanip();

protected:
    string detectdisc;
private:

};
Другие вопросы по тегам