#include <iostream>
using namespace std;
struct AccountInfo
{
int Acnumber;
char ID;
};
class Account
{
public:
AccountInfo Operation(void)
{
AccountInfo s;
s.ID = 'M';
return s;
}
};
int main()
{
Account a;
AccountInfo s = a.Operation();
cout << s.ID << endl;
return 0;
}
Я пытаюсь вернуть значения, данные структуре внутри метода класса. Код компилируется с ошибками. Я пытался использовать объект, он компилируется успешно, но ничего не выводит.
В чем проблема с моим кодом?
struct Operation(void)
Какой тип возвращает эта функция? Он не может быть struct
потому что это не тип, это ключевое слово, обозначающее определение структуры. Судя по возвращаемому значению и тому, как вы его используете, я предполагаю, что вы пытаетесь вернуть объект AccountInfo
:
AccountInfo Operation()
{
AccountInfo s;
s.ID = 'M';
return s;
}
void
также не нужна для пустых параметров. Кроме того, вам нужно сделать тип s
в main()
AccountInfo
:
int main()
{
Account a;
AccountInfo s = a.Operation();
}
Измените struct
на AccountInfo
везде, кроме первоначальной декларации.