C++ C++;将类拆分为多个文件。指定类型时假定显式类型int

C++ C++;将类拆分为多个文件。指定类型时假定显式类型int,c++,class,compiler-errors,C++,Class,Compiler Errors,我在跨多个文件拆分类时遇到了一个问题。我得到2个错误,显式类型丢失(“假定为int”)和类型说明符丢失(假定为int)。我到处找了,什么也没找到 这是我的类头文件 //h班 #pragma once class Class { public: Class(); ~Class(); int function(); //i specified a type here }; 我正在尝试使用函数,并指定了一个int类型 这是我的类cpp文件 //class.cpp #incl

我在跨多个文件拆分类时遇到了一个问题。我得到2个错误,显式类型丢失(“假定为int”)和类型说明符丢失(假定为int)。我到处找了,什么也没找到

这是我的类头文件 //h班

#pragma once
class Class
{
public:
   Class();
    ~Class();

    int function(); //i specified a type here
};
我正在尝试使用函数,并指定了一个int类型

这是我的类cpp文件

//class.cpp

#include "Class.h"

Class::Class()
{
}


Class::~Class()
{
}

Class::function() //This is the error line. Class::function has a red 
                  //underline under it
{
    int x;
    return x;
};

在.cpp文件中,使用以下命令:

int Class::function() 

因为在头文件中您声明函数的返回类型为int。您需要在.cpp文件中执行相同的操作。

在定义成员函数时仍然需要指定返回类型。
Class::function()
->
int Class::function()
是否。。。即使try…?函数在他的Class.h文件中不是“int类型”,他有一行“int function();//我在这里指定了一个类型”,这表明它应该返回int类型的值。因此在他的实现文件中,他必须将它指定为int。没有int类型的函数。这只是胡说八道。函数的类型是:“不带参数并返回int的函数”。你可以说函数返回int,但绝对不能说“int类型的函数”,我想我们讨论的是语义。从这个链接。关于函数声明的第一行“函数声明介绍函数名及其类型。函数定义将函数名/类型与函数体关联。”注意,它提到声明函数类型。但是的,我们都知道这意味着它是返回类型。我不认为你和我的陈述是错的。@CDVAR对不起,但你真的错了。当它说“函数类型”时,它指的是Bulv编写的,或者是C++中的代码> int()/>代码,而不仅仅是它的返回类型。