基本上,我有一個鏈接列表,它實現了一個display()
函數,它可以簡單地遍歷元素並打印出它們的值。如何在函數中使用Enum和字符串?
我想做這樣的:
void List::display(std::string type)
{
switch(type)
{
// Do stuff...
編譯器立刻抱怨。我的老師說這是因爲字符串在編譯時不知道,導致錯誤。這個解釋聽起來有點過分,但他建議我使用枚舉。所以我研究了它,它說顯式字符串枚舉不起作用。像
class List
{
enum type
{
HORIZONTAL = "inline"
VERTICAL = "normal"
}
然後,我真的不知道。
enum type
是List類的一部分,以及函數display()
。這再次看起來像一個非常糟糕的解決方案。不過,我想知道這種方法是否可行。
我怎麼能設置在主函數枚舉在同一時間我開通來電顯示()?像這樣
int main(void)
{
display("normal");
當然,更容易的方法是非常受歡迎的。一般來說,如果可能的話,我該如何聲明/傳遞枚舉函數?
這是巫術!很酷,不知道你可以這樣做。謝謝! – IAE 2010-06-22 16:22:38
'Type'是否需要公開才能用作'display'的參數? – 2010-06-22 16:26:25
不,它不會,但如果你把它變成私人的,你不能在'main'中訪問它,因此你不能從那裏調用'display'。 – Job 2010-06-22 16:28:21