gpt4 book ai didi

C++继承问题错误C2084函数已经有一个主体

转载 作者:行者123 更新时间:2023-11-28 01:52:31 26 4
gpt4 key购买 nike

我在 C++ 中得到了以下代码...

如果我从 Actor 中删除继承,一切都很好。

我试着查找问题并发现了类似的问题,但没有解决这个问题。我也清理并重建了该项目几次。这可能只是我找不到的某个地方的愚蠢错误...

杜克.h

#pragma once

#include "cocos2d.h"
#include <string.h>
#include "Actor.h"
#include "HelloWorldScene.h"
#include "AssetManager.h"

class Duke : public Actor {

private:
AssetManager* assets;
public:

Duke() :Actor() {};
~Duke();
void update(float) override;
virtual bool init() override;

};

公爵.cpp

#include "Duke.h"
#include "cocos2d.h"



Duke::Duke() {}

Duke::~Duke()
{
}
void Duke::update(float)
{
}

bool Duke::init()
{
return false;
}

这是我刚刚创建的一个非常简单的类,但是我得到了一个关于函数的错误(我什至不相信它存在),我现在真的一无所知......

2>------ Build started: Project: MyCppGame, Configuration: Debug Win32 ------
2>Duke.cpp
2>g:\cpp\projects\corgi\mycppgame\classes\duke.cpp(6): error C2084: function 'Duke::Duke(void)' already has a body
2>g:\cpp\projects\corgi\mycppgame\classes\duke.h(15): note: see previous definition of '{ctor}'
2>Done building project "MyCppGame.vcxproj" -- FAILED.
========== Build: 1 succeeded, 1 failed, 4 up-to-date, 0 skipped ==========

(如果需要,这里是 Actor 类 decleration)

Actor.h

#pragma once

#include "cocos2d.h"
#include <string.h>
USING_NS_CC;
class Actor : public cocos2d::Node {
private:
Sprite* spr;
public:
Actor(std::string*);

Actor();

~Actor();

};

Actor .cpp

#include "Actor.h"
#include "cocos2d.h"
#include <string>
USING_NS_CC;
Actor::Actor(std::string* str)
{
spr = Sprite::createWithSpriteFrameName(*str);
this->addChild(spr);
this->setPosition(Vec2(100, 100));
this->setScale(4);
Texture2D::TexParams texParams = { GL_NEAREST, GL_NEAREST, GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE };
spr->getTexture()->setTexParameters(texParams);
}


Actor::Actor()
{
}

Actor::~Actor()
{
}

谢谢

最佳答案

看看您的 Duke 构造函数。您在头文件和源文件中都定义了(使用函数体实现)。

要么将其从源文件中完全删除。或者从头文件中删除大括号 {}

关于C++继承问题错误C2084函数已经有一个主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42431365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com