C++ Xcode C++;,无法从main调用指针返回方法

C++ Xcode C++;,无法从main调用指针返回方法,c++,xcode5,C++,Xcode5,我正在尝试实现一个LinkedList数据结构。所以我有main.cpp,LinkedListClass.cpp,和LinkedListClass.h struct Node { int data; Node* next; }; class LinkedListClass { public: Node* head; LinkedListClass(); ~LinkedListClass(); void insert(int value);

我正在尝试实现一个
LinkedList
数据结构。所以我有
main.cpp
LinkedListClass.cpp
,和
LinkedListClass.h

struct Node
{
    int data;
    Node* next;
};

class LinkedListClass
{
public:
    Node* head;
    LinkedListClass();
    ~LinkedListClass();

    void insert(int value);
    void display();
    Node* ktoLast(Node* head, int k);//<-- this compile fine if I didn't call it from main

private:
    Node* tail;
};
这是我的
LinkedListClass.h

struct Node
{
    int data;
    Node* next;
};

class LinkedListClass
{
public:
    Node* head;
    LinkedListClass();
    ~LinkedListClass();

    void insert(int value);
    void display();
    Node* ktoLast(Node* head, int k);//<-- this compile fine if I didn't call it from main

private:
    Node* tail;
};
错误消息:

=========================更新=========================

方法实现

Node* ktoLast(Node* head, int k)
{
    Node* current = head;
    int length = 0;

    // find the length of the list
    while (current)
    {
        length++;
        current = current->next;
    }
    current = head; // reset back to head
    if (k > length || k < 1) return NULL;

    int count = 0;
    while (length - count != k)
    {
        count++;
        current = current->next;
    }

    return current;

}
Node*ktoLast(Node*head,int k)
{
节点*电流=头部;
整数长度=0;
//查找列表的长度
while(当前)
{
长度++;
当前=当前->下一步;
}
当前=磁头;//重置回磁头
如果(k>length | | k<1)返回NULL;
整数计数=0;
while(长度-计数!=k)
{
计数++;
当前=当前->下一步;
}
回流;
}

成员函数定义需要写成

Node* LinkedListClass::kToLast(Node* head, int k) { ...

上面的内容是定义一个同名的自由函数。另外,如果
head
始终是当前列表的头(
this
),则不需要将其作为参数传递

你的函数定义在哪里?大概在LinkedListClass.cpp中。是否正在编译和链接?@sfjac我已经在上面添加了方法实现。是的,如果我没有从main调用该方法,那么程序可以编译。当我从main调用
ktoLast(Node*head,int k)
时出现错误,非常感谢!我忽略了这一点