gpt4 book ai didi

c++ - 包含在命名空间内

转载 作者:行者123 更新时间:2023-11-28 03:55:40 24 4
gpt4 key购买 nike

以下做法是否正确?嗯,我得到一个编译错误。

a.hpp 是

#include <iostream>

class a
{

public:

void classa_f();


};

a.cpp是

#include "a.hpp"


void a::classa_f()
{

std::cout<< "a::classa_f\n";


}

主要.cpp

#include <iostream>
namespace myname {
#include "a.hpp"
}

int main ()

{

myname::a obj;
obj.classa_f();

return 0;

}

出现以下错误

g++ main.cpp a.o/tmp/ccOOf5s7.o: 在函数 main' 中:
main.cpp:(.text+0x11): undefined reference
myname::a::classa_f()'collect2: ld 返回 1 个退出状态

好吧,我的问题是,是否有可能在命名空间下只包含 include 而不是实际的实现,因为我可以看到编译器正在搜索命名空间以查找函数的定义。实际上并不存在。

最佳答案

namespace myname {
#include "a.hpp"
}

声明一个类方法 myname::a::classa_f ,它显然不存在于您的程序中。无效。

关于c++ - 包含在命名空间内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3743441/

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