gpt4 book ai didi

c++ - 函数返回在另一个类中定义的枚举(致命链接错误)

转载 作者:行者123 更新时间:2023-11-28 03:32:26 27 4
gpt4 key购买 nike

这似乎是一个常见的问题。我在 classA 中定义了一个枚举,然后将 classA 包含在 classB 中。然后,在 classB 中我定义了一个函数,它返回在 classA 中定义的枚举类型......见下文。我收到以下错误:

aFirst.obj : error LNK2019: unresolved external symbol "public: enum justEnum::things_t __thiscall usesTheEnum::returnsThings(void)" (?returnsThings@usesTheEnum@@QAE?AW4things_t@justEnum@@XZ) referenced in function _wmain 1>C:\Documents and Settings\Ben\My Documents\Visual Studio 2010\Projects\aFirst\Debug\aFirst.exe : fatal error LNK1120: 1 unresolved externals

#pragma once
class justEnum
{

public:
justEnum(void);
~justEnum(void);
enum things_t{ONE, TWO};
};



#pragma once
#include "justEnum.h"

class usesTheEnum
{
public:
usesTheEnum(void);
~usesTheEnum(void);
justEnum::things_t returnsThings(void);
};



#include "StdAfx.h"
#include "usesTheEnum.h"
#include "justEnum.h"

usesTheEnum::usesTheEnum(void)
{
}


usesTheEnum::~usesTheEnum(void)
{
}


justEnum::things_t returnsThings()
{
return justEnum::ONE;
}



// tester.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include "justEnum.h"
#include "usesTheEnum.h"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
usesTheEnum aUser;
justEnum anEnum;
justEnum::things_t anotherEnum;
anotherEnum = justEnum::ONE;
aUser.returnsThings();
cout << anotherEnum;
return 0;
}

最佳答案

您需要指定您对 returnsThings() 的定义是 usesTheEnum 类的一部分。

justEnum::things_t usesTheEnum::returnsThings()
{
return justEnum::ONE;
}

关于c++ - 函数返回在另一个类中定义的枚举(致命链接错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12118188/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com