以下g ++类构造中的错误是什么?

use*_*352 0 c++

我收到一个g ++错误(对'SomeClass :: SomeClass(int)'和'SomeClass ::〜SomeClass'的未定义引用),其中包含以下内容:

/*
 * SomeClass.h
 *
 */

#ifndef SOMECLASS_H_
#define SOMECLASS_H_

class SomeClass
{

public:
    SomeClass();
    SomeClass(int someInt);
    ~SomeClass();
};

#endif /* SOMECLASS_H_ */


/*
 * SomeClass.cpp
 *
 */

#include "SomeClass.h"

SomeClass::SomeClass()
{
}

SomeClass::SomeClass(int someInt)
{
}

SomeClass::~SomeClass()
{
}

/*
 * main.cpp
 *
 */

#include "SomeClass.h"

int main()
{

    SomeClass::SomeClass someObject(1);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Joh*_*itb 6

SomeClass::SomeClass someObject(1);
Run Code Online (Sandbox Code Playgroud)

首先,这是无效的,因为SomeClass::SomeClass命名构造函数,而不是类类型.说吧SomeClass.然后你可能忘记链接到SomeClass.cpp目标文件.编译可执行文件时,请确保将其包含在编译器命令行中,或者通过您使用的任何IDE将其添加到项目配置中.