我試圖創建一個字符數組持有每個數組索引單個符號用下面的代碼:分號字符在C++字符數組
#ifndef TABLEDEFS_H
#define TABLEDEFS_H
#include <string>
using namespace std;
char symbolTable[] = {'_', '=', '<', '>', '!', '+', '-', '*', '/', '%', '.',
'(', ')', ',', '{', '}', ';', '[', ']', ':'};
string tokenTable[] = {"IDtk", "NUMtk", "==", "=<=", "=>=", "=", "<", ">", "!",
"+", "-",
"*", "/", "%", ".", "(", ")", ",", "{", "}", ";", "[", "]", ":", "EOFtk"};
string keywordTable[] = {"Start", "Stop", "Then", "If", "Iff", "While", "Var", "
Int", "Float", "Do",
"Read", "Write", "Void", "Return", "Dummy", "Program"};
#endif
然而,我的編譯器不斷抱怨有一個多餘的分號。我假設它正在讀取我的數組中的分號作爲終止字符,我不知道如何讓它停止這樣做。
我想保留它作爲字符數組而不是字符串(如果可以的話),因爲我將該數組用作我們在類中創建的編譯器的掃描器的一部分,並將比較單個字符在一種精巧的switch語句中針對數組的代碼。如何讓我的數組對編譯器不那麼沮喪?
你發佈的內容對我來說看起來不錯 - 你確定這是整個數組嗎? –
我們需要一個可編譯的例子來重現錯誤,編譯的小片段沒有錯誤。 –
您對使用字符串的推理毫無意義。無論如何,你必須知道這個東西的大小,所以只需切斷NULL終止符。 – Adam