1. ホーム
  2. c++

[解決済み] エラー C2084: 関数はすでにボディを持っています [閉鎖].

2022-02-16 20:54:28

質問

このエラーを解決するために必要なことは何なのか、このウェブサイトでは何も見つけられませんでした。基本的に私はエラーC2084を取得します:関数 'Calculator::GUI::GUI(void)' already has a body. 私が持っているのは、Win32アプリケーションである電卓に追加されたGUIというウィンドウズフォームだけです。

GUI.h で。

#pragma once

namespace Calculator {

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;

/// <summary>
/// Summary for GUI
/// </summary>

public ref class GUI : public System::Windows::Forms::Form
{

void AddControls();
public:
    GUI()
    {
        InitializeComponent();
        //
        //TODO: Add the constructor code here
        //


    }

で、GUI.cppでは

#include "GUI.h"

namespace Calculator {

GUI::GUI()
{

}

void DrawButtons();
void DrawLabels();

void GUI::AddControls()
{
    DrawButtons();
    DrawLabels();
}

GUI.hファイルにすべてを記述することで目的のものを動作させることができましたが、メソッドのコードを.cppファイル内に記述したいと思いました。

どのように解決するのですか?

ヘッダーをこのように変更します。

public ref class GUI : public System::Windows::Forms::Form
{

void AddControls();
public:
    GUI();
}

ヘッダには宣言だけを書いて、実装はcppに書くということですね。