繁体   English   中英

函数未定义参考c ++

[英]function undefined reference c++

我有个问题 :

FPSlimiter.cpp:

#include <windows.h>
#include <mmsystem.h>
#include "FPSlimit.h"

FPSlimiter limiter;

void LIMIT_FPS(DWORD FPS_LIMIT)
{
static DWORD LAST_FRAME_TIME = 0;
limiter.CURRENT_FRAME_TIME = timeGetTime();
if ((limiter.CURRENT_FRAME_TIME - LAST_FRAME_TIME) < (1000 / FPS_LIMIT))
{
    return;
}
LAST_FRAME_TIME = limiter.CURRENT_FRAME_TIME;
}

FPSlimiter.h:

#include <mmsystem.h>
#include <windows.h>

class FPSlimiter
{
    public:
    void LIMIT_FPS(DWORD FPS_LIMIT);
    DWORD CURRENT_FRAME_TIME;
};

从main.cpp调用函数:

DWORD MAX_FPS = 60;
limiter.LIMIT_FPS(MAX_FPS);

我得到错误:

对FPSlimiter :: LIMIT_FPS(unsigned long)的未定义引用

对不起,这堆代码,但我找不到解决方案。 谢谢。

LIMIT_FPS是成员FPSlimiter ,所以你的定义必须是在类范围:

void FPSlimiter::LIMIT_FPS(DWORD FPS_LIMIT) { .... }
     ^^^^^^^^^^^^

否则,您只是定义了一个不同的非成员函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM