0
を持っている私は俳優のすべてのものから継承を削除した場合、私は... C++でC++の継承問題エラーC2084機能はすでに体
を次のコードを持って結構です。
私は問題を見つけようとしましたが、同様の問題が見つかりましたが、これは修正されませんでした。 私は数回もプロジェクトをきれいにして再構築しました。これは、それは私が作成した、本当に単純なクラスです
#include "Duke.h"
#include "cocos2d.h"
Duke::Duke() {}
Duke::~Duke()
{
}
void Duke::update(float)
{
}
bool Duke::init()
{
return false;
}
どこかに私はちょうどカントは見つけることだけ愚かな間違い...
おそらくDuke.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;
};
Duke.cppですしかし、私は関数についてのこのエラー(私は存在するとは思わない)を得て、今私は本当に無知です...
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 ==========
(必要であれば、ここで俳優のクラス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()
{
}
私は自分の.hファイルから自分の定義から関数を削除し、 ':actor()'部分を私の.cppの減速度に移動しました。今私は知っている、ありがとう! – Baruch