3

関数を静的に宣言せずに次の C コードをコンパイルしようとすると、リンカー エラーが発生します。

undefined reference to '_fun'

しかし、静的にしないと機能します。C++ では、staticキーワードがなくても問題なく動作します。

// Doesn't work
inline int fun()
{
    return 3;
}

// Works
static inline int fun()
{
    return 3;
}

int main(int argc, const char * argv[])
{
    printf("%i", fun());
}
4

2 に答える 2