我是新手,所以请原谅我,如果这真的很愚蠢。qt linux“QMAKE_CXXFLAGS + = -std = C++ 11”等效于windows?
最近我做了一个在Ubuntu下使用qt的项目,我用静态链接的“QMAKE_CXXFLAGS + = -std = C++ 11”,一切都很顺利,所以我想为什么不重新编译它在Windows上,我做到了。
这是node.h
#ifndef NODE_H
#define NODE_H
#include <iostream>
#include <string>
#include "qcustomplot.h"
using namespace std;
class node
{
public:
double p[6];
string table[3000][9];
double splitPoints[8];
double giniA[8];//array of ginies obtained by partitioning on corresponding attributes
double gini;//gini of a dataset
int rowc=0;//row count
int colc=0;
int cc;
std::string label;
string a[9];
node* left=NULL;
node* right=NULL;
void plotGraph(QCustomPlot *customPlot);
int optimize(int);
};
#endif // NODE_H
当我运行项目中,我得到了以下错误消息:
In file included from ..\mining app final(hopefully)\/mythread.h:4,
from ..\mining app final(hopefully)\/mainwindow.h:8,
from ..\mining app final(hopefully)\main.cpp:2:
..\mining app final(hopefully)\/node.h:16: error: ISO C++ forbids initialization of member 'rowc'
..\mining app final(hopefully)\/node.h:16: error: making 'rowc' static
..\mining app final(hopefully)\/node.h:16: error: ISO C++ forbids in-class initialization of non-const static member 'rowc'
..\mining app final(hopefully)\/node.h:17: error: ISO C++ forbids initialization of member 'colc'
..\mining app final(hopefully)\/node.h:17: error: making 'colc' static
..\mining app final(hopefully)\/node.h:17: error: ISO C++ forbids in-class initialization of non-const static member 'colc'
..\mining app final(hopefully)\/node.h:21: error: ISO C++ forbids initialization of member 'left'
..\mining app final(hopefully)\/node.h:21: error: making 'left' static
..\mining app final(hopefully)\/node.h:21: error: invalid in-class initialization of static data member of non-integral type 'node*'
..\mining app final(hopefully)\/node.h:22: error: ISO C++ forbids initialization of member 'right'
..\mining app final(hopefully)\/node.h:22: error: making 'right' static
..\mining app final(hopefully)\/node.h:22: error: invalid in-class initialization of static data member of non-integral type 'node*'
mingw32-make[1]: Leaving directory `C:/build-blah-vai-Debug'
mingw32-make[1]: *** [debug/main.o] Error 1
mingw32-make: *** [debug] Error 2
01:36:17: The process "C:\MinGw\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project blah (kit: vai)
When executing step 'Make'
01:36:17: Elapsed time: 00:02.
任何人都可以请指导我如何解决这个问题?
我目前正在Qt的4.8.5-MinGW的(Windows 7)中
你应该在构造函数初始化成员变量。只有静态变量可以在类之外初始化。 –
嘿,谢谢你的回复vaibhav。 –
@VaibhavDesai这是[在C++ 11中不正确](http://www.stroustrup.com/C++11FAQ.html#member-init)。你确定正确的标志传递给编译器吗? – peppe