无法从导入的类 c++ 调用非静态成员函数
Can't call non-static member function from imported class c++
我的问题是line memory.initboard();我已经使用构造函数实例化了内存实例,该构造函数可以很好地解决。一旦我尝试使用点通知调用成员函数,我就会出现错误:
架构的未定义符号x86_64: " board :: initboard()",从: _ Main在CCPQWFDT.O中LD:架构找不到符号x86_64
我已经尝试删除板::在.cpp文件中initboard之前,但这无效。有人知道为什么我不能称呼此成员函数?
这是主要功能
#include <iostream>
#include "Board.h"
using namespace std;
int main(){
Board memory(8);
memory.initBoard();
return 0;
}
这是.h文件
#ifndef BOARD_H
#define BOARD_H
#include <vector>
class Board {
private:
Board(){}
public:
int board_size;
Board(int size);
void initBoard();
};
#endif
这是.h文件
随附的.cpp#include "Board.h"
#include <iostream>
using namespace std;
Board::Board(int size) {
}
inline void Board::initBoard(){
}
您应该从函数定义中删除 inline
。这使其仅在Board.cpp
中使用。
相关文章:
- 在 nullptr 上调用无状态类的非静态成员函数是否合法?
- 非静态成员失败的线程调用函数
- 处理类内的回调时,必须调用对非静态成员函数的引用
- LNK2019 在文件中调用静态成员的方法时出错.cpp
- 为什么我不能像这样在静态成员函数中调用静态成员变量?
- 当我在C++中调用 struce 的只读静态成员时,线程是否安全
- 简化静态成员函数调用的方法
- 通过指针调用静态成员函数
- Visual 2015 C++编译器:使用对象调用静态成员不会导致编译器错误
- 在不存在的对象上调用静态成员函数
- 在静态成员变量初始值设定项中,为什么调用静态成员函数(而不是全局函数)
- 为什么在包含类的构造函数之前调用静态成员的构造函数
- 编译递归模板以调用静态成员函数时类型不完整
- 调用静态成员函数会导致运行时错误
- 在c++中调用静态成员的方法进行初始化
- 是在第一次调用静态成员函数之前初始化的静态类变量
- C++:在不同类的派生对象的基指针上调用静态成员函数
- 从继承的类实例调用静态成员
- 在对象上调用静态成员函数——有没有办法将其转化为编译器错误
- 调用c++静态成员函数的Objective-c包装器