Arrays 返回constexpr std::数组

Arrays 返回constexpr std::数组,arrays,c++11,Arrays,C++11,当我尝试编译这个类时,链接器告诉我没有找到架构x86_64的FooHandler::getFoo enum class Foo {Bar}; class FooHandler { public: constexpr std::array<Foo, 1> static getFoo() { return foo; } static constexpr std::array<Foo, 1> foo = { {Foo::Bar}

当我尝试编译这个类时,链接器告诉我没有找到架构x86_64的FooHandler::getFoo

enum class Foo {Bar};


class FooHandler {

public:

    constexpr std::array<Foo, 1> static getFoo() {
        return foo;
    }

    static constexpr std::array<Foo, 1> foo = { {Foo::Bar} };
};


int main() {
    FooHandler::getFoo();
}
enum类Foo{Bar};
类foodhandler{
公众:
constexpr std::数组静态getFoo(){
返回foo;
}
静态constexpr std::array foo={{foo::Bar};
};
int main(){
foodhandler::getFoo();
}
这里有我遗漏的东西吗

奖金问题:


有什么方法可以用常量值替换
1
吗?

对我有用,
有什么方法可以用常量值替换1吗?
我不确定我是否理解这个问题。你觉得
1
是什么-一个变量值?@Igor Tandetnik很抱歉我的问题模棱两可,我的意思是是否可以用constexpr或类似的东西来替换1?嗯。这是相当琐碎的检查,你可以自己做。我可能又误解了这个问题。这真的很奇怪:在Mac OS X上使用交叉G++编译器构建目标:沙盒调用:交叉G++链接器G++-o“沙盒”。/src/Sandbox.o架构x86_64的未定义符号:“foodhandler::foo”,引用自沙盒中的:foodhandler::getFoo()找不到架构x86_64 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)make:**[Sandbox]错误1适用于我,并且
是否有任何方法可以用常量值替换1?
我不确定是否理解此问题。你觉得
1
是什么-一个变量值?@Igor Tandetnik很抱歉我的问题模棱两可,我的意思是是否可以用constexpr或类似的东西来替换1?嗯。这是相当琐碎的检查,你可以自己做。我可能又误解了这个问题。这真的很奇怪:在Mac OS X上使用交叉G++编译器构建目标:沙盒调用:交叉G++链接器G++-o“沙盒”。/src/Sandbox.o架构x86_64的未定义符号:“foodhandler::foo”,引用自沙盒中的:foodhandler::getFoo()找不到架构x86_64 clang的链接器命令:错误:链接器命令失败,退出代码为1(使用-v查看调用)make:**[Sandbox]错误1