引用内联函数中的文件静态变量

时间:2012-11-05 19:55:03

标签: c++

假设您有一个文件example.h

class example
{
public:
    int doStuff();
};

和一个文件example.cpp

#include "example.h"
static const int data[] = {1, 2};

inline int doStuffImpl()
{
    return data[0] + data[1];
}

int example::doStuff()
{
    return doStuffImpl();
}

当我使用本机编译器在solaris上编译等效时,我得到一个链接器错误,它无法找到符号'data'。我做的是无效的吗?

1 个答案:

答案 0 :(得分:4)

不,不是,应该是

static const int data[] = {1, 2};