我只是切換到C++,從C# 我寫C++中的鏈接列表的代碼運行它在Win32控制檯應用程序時遇到非常奇怪的錯誤,同時建立代碼的行爲很奇怪
我在評論中指出的3個錯誤,其餘的我不能打字,太多了。
using namespace std;
class float_list
{
struct node
{
double data;
struct node *next;
};
node *head;
public:
float_list(void)
{
head = nullptr;
};
void appendNode(double);
};
//void float_list::appendNode(float num)
//{
//
//}
void float_list::appendNode(double num)
{
node *newNode;
node *ptr; //here i am getting this Error error C3872:
//'0xa0': this character is not allowed in an identifier ,
// how ever I changed its name again and again.
newNode = new node;
newNode->data = num; // here un declared identifier ,
//also missing ; before this line
newNode->next = nullptr;
if (!head)
{
head = newNode;
}
else
{
ptr = head;
while (ptr->next)
{
ptr = ptr->next;
ptr->next = newNode;
};
}
}
你從一個HTML頁面複製粘貼? IIRC,0xa0是nbsp。 – ninjalj 2012-02-24 18:39:44
您是否複製了以Unicode格式保存的任何代碼? '0xa0'是一個不間斷的空間,可能無法被編譯器識別。 – Foggzie 2012-02-24 18:42:12
在上一個'while'循環中有一個錯誤:'ptr-> next = newNode;'應該在循環外*。另外,最好爲列表維護* head *和* last *節點指針;這樣你就不需要在每個新的'appendNode'上重複遍歷整個列表。 – 2012-02-24 18:50:34