對於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