は、Win32コンソールアプリケーションでそれを実行し、コードの振る舞いは私が、私はC# 私はC++でリンクリストのコードを書いたからC++への切り替え
を構築しながら、非常に奇妙なエラーが発生して、私は、コメント内に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
Unicode形式で保存されたコードをコピー貼り付けしましたか? '0xa0'は改行しないスペースで、コンパイラによって認識されないことがあります。 – Foggzie
最後の 'while'ループにエラーがあります:' ptr-> next = newNode; 'はループの外側*でなければなりません。また、リストの* head *と* last *ノードポインタの両方を維持する方が良いでしょう。そうすれば、新しい 'appendNode'ごとにリスト全体を何度も何度もトラバースする必要はありません。 –