Может кто-нибудь помочь мне понять эту ошибку: когда я объявляю структуру локально в функции, я получаю следующие ошибки от компилятора. Но ошибка исчезает, когда я объявляю структуру вне функции.
Примечание: я не реализовал отсутствующую функцию намеренно. Я просто хотел знать, зачем они нужны компилятору, если я не использую их в своем коде.
RAII::RAII': функция-член локального класса не имеет тела p>
RAII::operator =' : функция-член локального класса не имеет тела
void someclass::somefun()
{
static bool inProgress = false;
struct RAII
{
RAII(bool& f):flag(f){ flag = true;}
~RAII() { flag = false; }
bool& flag;
private:
RAII(const RAII& rhs);
RAII& operator= (const RAII& rhs);
};
RAII autoreset(inProgress);
// Do something
}
Подробнее здесь: https://stackoverflow.com/questions/189 ... -construct