C ++ Visual Studio错误:名称后跟'::'必须是类或名称空间名称(DirectX 11)

时间:2020-06-02 03:20:29

标签: c++ directx-11

我不明白这里出了什么问题

manager.h

#pragma once
class CManager
{

public:
static void Init();
static void Uninit();
static void Update();
static void Draw();

};

main.cpp

#include "main.h"
#include "manager.h"

...

CManager::Init(); //error here 

...

CManager::Update(); //error here


CManager::Draw(); //and here

但是后跟::的名称已经是一个类。为什么会显示错误?

1 个答案:

答案 0 :(得分:2)

似乎您想调用函数,不是吗? 如果我是对的,那么您需要先定义函数,然后才能调用它们。

class CManager
{

public:
    static void Init();
    static void Uninit();
    static void Update();
    static void Draw();

};

您只在这里声明

您必须在班级内定义

class CManager
{

public:
    static void Init()
    {
        //Do something...
    }
    static void Uninit()
    {
        //...
    }
    static void Update()
    {
        //...
    }
    static void Draw()
    {
        //...
    }

};

...或班级以外:

void CManager::Init()
{
    //Do something...
}
//and so on...