C++ - 带有 Visual Studio 的成员函数声明

C++ - Member Function Declaration with Visual Studio

我正在为使用 Visual Studio 的项目编写 class,我通过 IDE 菜单添加了 class,class 是 public,header文件包含在项目headers中,源文件包含在项目源文件中。

构造函数、析构函数和私有成员已经设置好,当我开始编写第一个成员函数时,我得到这个错误:成员函数不能在其[=34 之外声明=].

这是我第一次在 Visual Studio 中写一个 class,我知道 Code::Blocks 需要一些链接代码,这是相同的情况吗?

在header:

#pragma once
class myclass
{
public:
    myclass( /*parameters*/ );
    void foo ( /*parameters*/ ); //HERE
    ~myclass();
private:
    /* my data members */
};

源文件中:

#include "stdafx.h"
#include "myclass.h"

myclass::myclass( /*parameters*/ )
{
    /*constructor code*/
}
void myclass::foo( /*parameters*/ ); //HERE
{
}
myclass::~myclass()
{
    /*destructor code*/
}

去掉这里的分号:

void myclass::foo( /*parameters*/ ); //Semicolon HERE
{
}

您不能在 class 定义之外声明成员函数。 Visual Studio 将其视为声明,因为您放置了分号;在方法 foo 的函数签名末尾,将其删除。