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

问题描述 投票:0回答:1

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

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

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

c++ directx-11
1个回答
0
投票

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

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()
    {
        //...
    }

};

...或班级以外:

CManager::Init()
{
    //Do something...
}
//and so on...
© www.soinside.com 2019 - 2024. All rights reserved.