下面的代码不能编译,但如果我将_foo设为静态,它将会。为什么?而且,更重要的是,是否有办法让代码在下面工作,而不会使_foo静态?
class SomeClass {
public:
const char** getFoo() const {
return _foo;
}
private:
const char* _foo[ 10 ];
};
答案 0 :(得分:0)
所以,就像Bo Persson在他的评论中指出的那样,函数是const但是返回一个非const指针。因此解决方案是:
class SomeClass {
public:
const char* const* getFoo() const {
return _foo;
}
private:
const char* _foo[ 10 ];
};