0

I am fairly new to the idea of using a struct and I am running into a problem. I have the following struct called Loginput created in mainwindow.h

mainwindow.h

    struct Loginput{

    QString logInput1[4];
    QString logInput2[4];
    QString logInput3[4];
    QString logInput4[4];
    QString logInput5[4];
    QString logInput6[4];
    QString logInput7[4];
    QString logInput8[4];
    QString logInput9[4];
    QString logInput10[4];
    QString logInput11[4];
    QString logInput12[4];
    QString logInput13[4];
    QString logInput14[4];
    QString logInput15[4];
    QString logInput16[4];
    QString logInput17[4];
    QString logInput18[4];
    QString logInput19[4];
    QString logInput20[4];

};

(yes, i know that's a lot of variables, not interested in that for the moment)

printdialog.h

signals:
void printCSV(QString getSerial, QString getCust, Loginput l);

Because the struct was created in mainwindow.h the compiler is saying "Loginput has not been declared" when it gets to printdialog.h How can I create a structure in x header file and then refer to it in y header file?

1 Answers1

0

Move your struct definition to separate file:

Llginput.h :

#pragma once

#include <QString>

struct Loginput{
    QString logInput1[4];
    QString logInput2[4];
    QString logInput3[4];
    QString logInput4[4];
    QString logInput5[4];
    QString logInput6[4];
    QString logInput7[4];
    QString logInput8[4];
    QString logInput9[4];
    QString logInput10[4];
    QString logInput11[4];
    QString logInput12[4];
    QString logInput13[4];
    QString logInput14[4];
    QString logInput15[4];
    QString logInput16[4];
    QString logInput17[4];
    QString logInput18[4];
    QString logInput19[4];
    QString logInput20[4];

};

Then include this file in your mainwindow.h file #include "Loginput.h". Also #include "Loginput.h" in any other source that needs the definition of Loginput, the #pragma once directive guarantees that it will not be included more than once per compilation unit.

Related question about header guards and pragma once

pptaszni
  • 5,591
  • 5
  • 27
  • 43