相关疑难解决方法(0)

.cpp文件中的C++内联成员函数

我知道按定义,内联成员函数应该进入标题.但是如果不能将函数的实现放入标题呢?让我们来看看这种情况:

档案啊

#pragma once
#include "B.h"

class A{
    B b;
};
Run Code Online (Sandbox Code Playgroud)

文件Bh

#pragma once

class A; //forward declaration

class B{
    inline A getA();
};
Run Code Online (Sandbox Code Playgroud)

由于圆形包括我必须把实施getA

B.cpp

#include "B.h"
#include "A.h"

inline A B::getA(){
    return A();
}
Run Code Online (Sandbox Code Playgroud)

编译器会内联getA吗?如果是这样,哪个内联关键字是重要的(标题中的那个或.cpp文件中的那个)?是否有另一种方法将内联成员函数的定义放入其.cpp文件中?

c++ inline function member

69
推荐指数
4
解决办法
6万
查看次数

标签 统计

c++ ×1

function ×1

inline ×1

member ×1