错误代码是C2131。
即使我在其他文件中调用此变量的大小,intelisense也不会抱怨,而且知识的大小。我错过了什么让这个工作?任何帮助是极大的赞赏。在下图中,看到知识产权没有抱怨,也决定了规模。
示例a.h:
class a
{
private:
static constexpr char m_pszFoo[] = "***FOO***"; // compile error on this line C2131 expression did not evaluate to a constant
public:
a() { sizeof(m_pszFoo); }; // no compile error here
};
重现你需要做的就是在任何其他文件中包含a.h.没有包含它就不会重现。
答案 0 :(得分:4)
所以我想出了一个关于b \ c的工作,错误消息让我觉得我需要在某个地方添加一个const
TextArea ta = new TextArea();
ta.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
if ((event.getCode() == KeyCode.Z || event.getCode() == KeyCode.Y)
&& event.isShortcutDown()) {
event.consume();
}
}
});
由于某种原因,如果我们告诉编译器我们不能更改字符串指向msvc的字符串的char。
*编辑*
我得到一些建议来提交微软的错误并让他们调查,因为这看起来是与msvc的互操作错误。 这是connect.microsoft链接:https://connect.microsoft.com/VisualStudio/feedback/details/2781048