Почему локально определенной структуре в функции нужен оператор присваивания и конструктор копированияC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему локально определенной структуре в функции нужен оператор присваивания и конструктор копирования

Сообщение Anonymous »

Может кто-нибудь помочь мне понять эту ошибку: когда я объявляю структуру локально в функции, я получаю следующие ошибки от компилятора. Но ошибка исчезает, когда я объявляю структуру вне функции.
Примечание: я не реализовал отсутствующую функцию намеренно. Я просто хотел знать, зачем они нужны компилятору, если я не использую их в своем коде.
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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»