方法从头文件调用

时间:2017-01-27 21:59:21

标签: c++ function methods header-files

我有一个编程任务,我应该编写插入和删除链表的代码。但是我暂时还没有使用过C ++而且我在努力记住某些事情。

现在,我只是尝试将一个原型方法放在头文件中,在我的cpp文件中定义它,然后在我的main方法中调用它。这就是我所拥有的。

LinkedList.h

#include <iostream>

using namespace std;

class LinkedList {

public:
    void testPrint();
};

LinkedList.cpp

#include "LinkedList.h"

int main() {
    LinkedList::testPrint();

}

void LinkedList::testPrint() {
     cout << "Test" << endl;
}

我收到以下错误

a nonstatic member reference must be relative to a specific object
'LinkedList::testPrint': non-standard syntax; use & to create a pointer to member

1 个答案:

答案 0 :(得分:4)

LinkedList::testPrint()是会员功能。

它未声明为static,因此这意味着必须在特定对象上调用它,例如定义为LinkedList linked_list。然后使用linked_list.testPrint()

选项1 - static成员函数声明

#include <iostream>

using namespace std;

class LinkedList {

public:
    static void testPrint();
};

int main() {
    LinkedList::testPrint();
}

void LinkedList::testPrint() {
    cout << "Test" << endl;
}

选项2 - 调用成员函数

的实例化对象
#include <iostream>

using namespace std;

class LinkedList {

public:
    void testPrint();
};

int main() {
    LinkedList linked_list;
    linked_list.testPrint();
}

void LinkedList::testPrint() {
    cout << "Test" << endl;
}