对于C++来说,我相当新,所以这可能很简单。 我创建了一个名称空间,并且在该名称空间内是一个类。我无法弄清楚如何定义任何我的类的构造函数而不会收到错误。在名称空间中定义一个类的构造函数
#include <iostream>
namespace bill {
const char * null ="EMPTY";
const int MAX_STACK_SIZE = 100;
class myStackClass {
private:
int i;
public:
myStackClass();
myStackClass(int[], int);
int peek();
int pop();
int push(int insertMe);
const char empty[5];
};
}
using namespace bill;
bill::myStackClass::myStackClass() //bill::myStackClass() doesn't work either
:
i(0)
{ //error C2448: 'i' : function-style initializer appears to be a function definition
} //"bill::myStackClass::myStackClass()" provides no initializer for:
const member "bill::myStackClass::empty"
bill::myStackClass::myStackClass(int[],int)
{ //error C2439: 'bill::myStackClass::empty' : member could not be initialized
} //"bill::myStackClass::myStackClass(int *, int)" provides no initializer for:
const member "bill::myStackClass::empty"
int bill::myStackClass::peek() // I am able to call methods belonging to the class
{
}
对不起,如果有任何信息混乱,难以阅读或只是彻头彻尾没有帮助。我一直在阅读我的教科书和谷歌搜索错误几个小时,真的很感谢一些见解。谢谢。
这只是我的程序的开始,所以可以解释为什么它看起来不像堆栈。这个答案非常具有教育意义,我更加了解命名空间,但是我仍然收到错误,无法编译。如果在初始化列表中声明了数组'empty {}',我的编译器就期待'('和其他2个括号之间的正文将在它期望的声明之后。 – user2921678
您使用什么编译器? – alrikai
Microsoft Visual Studio 2012 C++编译器 – user2921678