简体   繁体   English

C2059:语法错误:常量

[英]C2059: syntax error: constant

I am having trouble resolving a C:2059 error on lines 19-23. 我在解决19-23行中的C:2059错误时遇到麻烦。 I am certain my creation of a vector data type is correct. 我确定我创建的矢量数据类型是正确的。 Where have I gone wrong? 我哪里出问题了?

Debugger Output: C:\\Qt\\Tools\\QtCreator\\bin\\Neutropenia_Application\\classifier.h:21: error: C2059: syntax error : 'constant' 调试器输出:C:\\ Qt \\ Tools \\ QtCreator \\ bin \\ Neutropenia_Application \\ classifier.h:21:错误:C2059:语法错误:'constant'

#ifndef CLASSIFIER_H
#define CLASSIFIER_H

#include "patient_data.h"
#include <QObject>
#include <vector>
#include <stdlib.h>

class Classifier : public QObject
{
    Q_OBJECT
public:
    explicit Classifier(QObject *parent = 0);
    ~Classifier();
    void classify(std::vector<patient_data>data, patient_data i);

    struct CreateSDTable
    {
        std::vector<long> sum(3);    // C2509 error    //element 0 = Tumor, element 1 = Stage, element 2 = Adjuvant
        std::vector<long> mean(3);     // C2509 error
        std::vector<long> error(3);  // C2509 error
        std::vector<long> SDL(3);   // C2509 error
        std::vector<long> SD(3);  // C2509 error
    };

    CreateSDTable CurrentvsNeutropenic;
    CreateSDTable CurrentvsNonNeutropenic;

private:
/*
    std::vector<int> calculatesums(std::vector<patient_data> data, patient_data i);
    std::vector<long> calculatemean(std::vector<int>validpatients, CreateSDTable Neut, CreateSDTable NonNeut);
    std::vector<long>calculateerror(patient_data d, std::vector<int>m);
    std::vector<long>calculatSDL(int nvp, CreateSDTable CVN, CreateSDTable CVsNN);
    std::vector<int> NumofValidPatients(std::vector<patient_data>x);

    //void classify(std::vector<patient_data>data, patient_data i);
*/
signals:

public slots:

};

#endif // CLASSIFIER_H

You can't initialize member variables that way. 您不能以这种方式初始化成员变量。 You need to separate declaration and initialization: 您需要分开声明和初始化:

struct CreateSDTable {
    std::vector<int> sum;
    ...
    CreateSDTable() : sum(3), ... {}
};

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM