Я изучаю книгу C ++, язык программирования, на стр. 30, глава 2, bjarne делает что-то вроде:
namespace Stack
{
const int MAX_SIZE = 200;
struct Rep;
typedef Rep& stack;
stack create();
void destroy(stack s);
void push(stack s, int i);
int pop(stack s);
}
структура:
struct Stack::Rep
{
int ar[200];
int top;
};
Я пытаюсь вернуть ссылку в функцию Stack::create()
, но я не могу это сделать, попробуйте множество методов, но я всегда получаю какую-то ошибку.
"initial value of reference to non-const must be an lvalue" :
Stack::stack Stack::create()
{
Stack::stack s = new Rep();
}
"reference variable "s" requires an initializer"
Stack::stack Stack::create()
{
Stack::stack s;
}
Я не знаю, где я неправ, может кто-нибудь мне помочь и объяснить, если это возможно.