将参数中的函数\类传递给静态库
Pass functionclass in parameter to static library
实际的问题出现了,如何在函数的参数中(在静态库中(从主程序中获取一个类和另一个函数?
例如,这可以从主程序工作,我想将这个函数转移到静态库:
void CHAR :: Test (LPCHAR attacker, DWORD time)
{
DWORD id = attacker-> GetPlayerID ();
}
LPCHAR - 主程序中的类
这是来自静态库:
void slibrary :: Test (XXXX attacker, char const * time, YYYY)
{
DWORD id = attacker-> YYYY;
}
LPCHAR:
typedef CHAR* LPCHAR;
煳:
class CHAR: public CEntity, public CFSM, public CHorseRider
{
}
XXXX 在哪里 - 我需要上LPCHAR
课,怎么做?
YYYY - 在哪里获得GetPlayerID()
功能,如何做?
还是以某种方式以不同的方式工作?
库中的签名与原始代码中的签名不同,但似乎您希望能够使用成员函数指针调用成员函数。例:
class CHAR {
public:
DWORD GetPlayerID() { return 1; }
};
class slibrary {
public:
// YYYY is here a member function pointer
void Test(CHAR* attacker, DWORD time, DWORD (CHAR::*YYYY)()) {
DWORD id = (attacker->*YYYY)();
std::cout << id << 'n';
}
};
int main() {
CHAR a;
slibrary sl;
sl.Test(&a, 0, &CHAR::GetPlayerID);
}
输出:
1
相关文章:
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 检查编译时是否存在静态函数
- 名称隐藏对静态函数继承的实例使用
- 如果 C 函数仍然可以间接执行(通过回调函数),那么将它声明为静态函数是否是一种不好的做法?
- 类中静态函数C++意外结果
- 在工人类中使用不同类的静态函数进行实验
- 类 Referention 中C++回调函数引用非静态函数
- 指向模板上下文中的成员函数或静态函数的指针
- 如何检测 Clang AST C++中的静态函数
- 内联asm编译器屏障(内存阻塞器)是算作外部函数,还是算作静态函数调用
- 如何在静态函数中使用成员函数数组
- (2 问题)"类"类型重新定义(即使 #pragma 一次),以及静态函数内的静态成员对象初始化?
- 生成代码(在编译时)以调用模板的每个实例化的静态函数
- C++无法访问或使用静态函数
- 如何将 cpp 文件中的静态函数公开给其他文件
- 将函数的引用设置为其他 c++ 文件中的非静态函数
- 方法的静态函数的等价性
- 扩展包含静态函数的类
- 非静态函数可以访问静态变量吗?
- 调用非静态函数作为谓词?