Ваша функция, кажется, там, чтобы решить, хотите ли вы создать учетную запись (baesd на ваших комментариях). В этом случае это не должно фактически создавать это. Вам просто нужно принять решение, на которое может реагировать ваш код.
#include <iostream>
class Account {
private:
int b;
public:
Account() : b(0) {};
int getAccountInt() const { return b; }
};
bool shouldCreateAccount() {
return true; // you handle the decision here
}
int main() {
if (shouldCreateAccount()) {
Account myAccount;
std::cout << myAccount.getAccountInt() << std::endl;
}
return 0;
}
Более общий принцип: https://en.cppreference.com/w/cpp/language/raii Если есть объект Account, он должен быть действительным. Обратите внимание, что если мы решим создать учетную запись, у нас есть такая, и если мы не решим создать учетную запись, там ничего нет. Это будет иметь больше смысла, когда вы охватите «область действия».
Мое мнение о том, почему ваш код не работает, заключается в том, что вы пытались создать учетную запись, когда не было действительной учетной записи, что нарушало RAII. Хотя иногда у меня странный взгляд на вещи.