gpt4 book ai didi

c++ - 类模板构造函数中引用的未解析外部符号(在 VS 2008 中)

转载 作者:太空宇宙 更新时间:2023-11-04 13:45:27 26 4
gpt4 key购买 nike

<分区>

以下 MWE 无法在 VS 2008 中编译

酒吧.h

struct Bar
{
Bar();
};

酒吧.cpp

#include "Bar.h"

Bar::Bar()
{
}

Foo.h

#include "Bar.h"

template<typename T>
class Foo
{
public:
Foo()
{
}

private:
Bar m_bar;
};

主要.cpp

#include "Foo.h"

int main()
{
Foo<int> f;
return 0;
}

错误信息:

error LNK2019: unresolved external symbol "public: __thiscall Bar::Bar(void)" (??0Bar@@QAE@XZ) referenced in function "public: __thiscall Foo<int>::Foo<int>(void)" (??0?$Foo@H@@QAE@XZ)

但是相同的代码成功在 GCC 3.4.4 中编译——我知道这是旧编译器,但它目前是我机器上的最新版本。此代码符合标准还是 VS 2008 错误?

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