I'm trying to call a user-defined function while clicking a button.Here's my code and the error I'm getting

Here's my .h file

Qt Code:
  1. #include <QApplication>
  2. #include <QPushButton>
  3. #include <QGridLayout>
  4. #include <QLCDNumber>
  5. #include <QString>
  6. #include <iostream>
  7. #include <test.h>
  8.  
  9. int i;
  10. QString str = "0";
  11. int calc::appendone()
  12. {
  13. i = 1;
  14. str.append("1");
  15. return 0;
  16. }
  17. int main(int argc, char *argv[])
  18. {
  19. QApplication app(argc, argv);
  20. QWidget *window = new QWidget;
  21. QPushButton *one = new QPushButton("1");
  22. QPushButton *two = new QPushButton("2");
  23. QPushButton *three = new QPushButton("3");
  24. QPushButton *four = new QPushButton("4");
  25. QPushButton *five = new QPushButton("5");
  26. QPushButton *six = new QPushButton("6");
  27. QPushButton *seven = new QPushButton("7");
  28. QPushButton *eight = new QPushButton("8");
  29. QPushButton *nine = new QPushButton("9");
  30. QPushButton *zero = new QPushButton("0");
  31. QPushButton *add = new QPushButton("+");
  32. QPushButton *sub = new QPushButton("-");
  33. QPushButton *mul = new QPushButton("*");
  34. QPushButton *div = new QPushButton("/");
  35. QPushButton *equ = new QPushButton("=");
  36. QLCDNumber *lcd = new QLCDNumber(5);
  37. QObject::connect(one, SIGNAL(clicked()), &calc, SLOT(appendone()));
  38. std::cout<<i;
  39. if(i == 1)
  40. {
  41. str.append("1");
  42. lcd->display(str);
  43. }
  44. QGridLayout *layout = new QGridLayout;
  45. lcd->display(str);
  46. layout->addWidget(zero,5,1);
  47. layout->addWidget(equ,5,3);
  48. layout->addWidget(one,4, 2);
  49. layout->addWidget(two,4,1);
  50. layout->addWidget(three,4,0);
  51. layout->addWidget(add,4,3);
  52. layout->addWidget(sub,4,4);
  53. layout->addWidget(four,3,2);
  54. layout->addWidget(five,3,1);
  55. layout->addWidget(six,3,0);
  56. layout->addWidget(mul,5,3);
  57. layout->addWidget(div,5,4);
  58. layout->addWidget(seven,2,2);
  59. layout->addWidget(eight,2,1);
  60. layout->addWidget(nine,2,0);
  61. layout->addWidget(lcd,2,3);
  62. window->setLayout(layout);
  63. window->show();
  64. return app.exec();
  65. }
To copy to clipboard, switch view to plain text mode 

My .CPP file

Qt Code:
  1. #include <QApplication>
  2. #include <QPushButton>
  3. #include <QGridLayout>
  4. #include <QLCDNumber>
  5. #include <QString>
  6. #include <iostream>
  7. #include <test.h>
  8.  
  9. int i;
  10. QString str = "0";
  11. int calc::appendone()
  12. {
  13. i = 1;
  14. str.append("1");
  15. return 0;
  16. }
  17. int main(int argc, char *argv[])
  18. {
  19. QApplication app(argc, argv);
  20. QWidget *window = new QWidget;
  21. QPushButton *one = new QPushButton("1");
  22. QPushButton *two = new QPushButton("2");
  23. QPushButton *three = new QPushButton("3");
  24. QPushButton *four = new QPushButton("4");
  25. QPushButton *five = new QPushButton("5");
  26. QPushButton *six = new QPushButton("6");
  27. QPushButton *seven = new QPushButton("7");
  28. QPushButton *eight = new QPushButton("8");
  29. QPushButton *nine = new QPushButton("9");
  30. QPushButton *zero = new QPushButton("0");
  31. QPushButton *add = new QPushButton("+");
  32. QPushButton *sub = new QPushButton("-");
  33. QPushButton *mul = new QPushButton("*");
  34. QPushButton *div = new QPushButton("/");
  35. QPushButton *equ = new QPushButton("=");
  36. QLCDNumber *lcd = new QLCDNumber(5);
  37. QObject::connect(one, SIGNAL(clicked()), &calc, SLOT(appendone())); //line 37
  38. std::cout<<i;
  39. if(i == 1)
  40. {
  41. str.append("1");
  42. lcd->display(str);
  43. }
  44. QGridLayout *layout = new QGridLayout;
  45. lcd->display(str);
  46. layout->addWidget(zero,5,1);
  47. layout->addWidget(equ,5,3);
  48. layout->addWidget(one,4, 2);
  49. layout->addWidget(two,4,1);
  50. layout->addWidget(three,4,0);
  51. layout->addWidget(add,4,3);
  52. layout->addWidget(sub,4,4);
  53. layout->addWidget(four,3,2);
  54. layout->addWidget(five,3,1);
  55. layout->addWidget(six,3,0);
  56. layout->addWidget(mul,5,3);
  57. layout->addWidget(div,5,4);
  58. layout->addWidget(seven,2,2);
  59. layout->addWidget(eight,2,1);
  60. layout->addWidget(nine,2,0);
  61. layout->addWidget(lcd,2,3);
  62. window->setLayout(layout);
  63. window->show();
  64. return app.exec();
  65. }
To copy to clipboard, switch view to plain text mode 

Here's the error I'm getting

Qt Code:
  1. test.cpp: In function ‘int main(int, char**)’:
  2. test.cpp:37:45: error: expected primary-expression before ‘,’ token
To copy to clipboard, switch view to plain text mode 

Thanks in advance