【问题标题】:C++ - Member Function Declaration with Visual StudioC++ - 使用 Visual Studio 声明成员函数
【发布时间】:2016-05-04 10:21:00
【问题描述】:

我正在使用Visual Studio为一个项目编写一个类,我通过IDE菜单添加了该类,该类是公共的,头文件包含在项目头中,源文件包含在项目源文件中.

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

这是我第一次在 Visual Studio 中编写类,我知道 Code::Blocks 需要一些链接代码,是不是同样的情况?

在标题中:

#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*/
}

【问题讨论】:

    标签: c++ class visual-studio-2015 member


    【解决方案1】:

    这里去掉分号:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-22
        • 2019-08-04
        • 2010-10-10
        • 1970-01-01
        • 2017-12-17
        • 2011-11-23
        • 1970-01-01
        • 2020-05-03
        相关资源
        最近更新 更多