Can I put an inline function on a header file in c++?

10,051

Solution 1

It is already answered in C++ FAQ

How do you tell the compiler to make a non-member function inline?

When you declare an inline function, it looks just like a normal function:

void f(int i, char c);

But when you define an inline function, you prepend the function’s definition with the keyword inline, and you put the definition into a header file:

inline
void f(int i, char c)
{
// ...
}

Note: It’s imperative that the function’s definition (the part between the {...}) be placed in a header file, unless the function is used only in a single .cpp file. In particular, if you put the inline function’s definition into a .cpp file and you call it from some other .cpp file, you’ll get an “unresolved external” error from the linker.

Solution 2

The answer to your question is yes.

Share:
10,051
mans
Author by

mans

Updated on June 04, 2022

Comments

  • mans
    mans almost 2 years

    I have a function which is very small and it is not part of any class. Can I put it in a header file to make it inline? some thing such as this:

    inline int add(int a, int b)
    {
          return a+b;
    }
    

    Please note that it is not a method of a class, but a c type function.