C++-ban egy osztályon belül hogyan kell használni a vector tömböt? Semmi használható példa nincs az interneten, már mindent megpróbáltam, és a tanárom baszik segíteni.
Erre nekem hivát ad, mi lehet a baj?
h fájl:
#ifndef MYCLASS_H
#define MYCLASS_H
#include <vector>
using std::vector;
using namespace std;
class MyClass{
private:
int num;
public:
vector<int> myArray;
MyClass(int n,vector<int> myArray);
int getNum();
void setNum(int n);
void addNum(int num);
};
#endif // MYCLASS_H
cpp fájl:
#include "MyClass.h"
#include <vector>
#include <iostream>
using namespace std;
using std::vector;
MyClass::MyClass(int n,vector<int> v): num(n) {
myArray=v;
}
int MyClass::getNum()
{
return num;
}
void MyClass::setNum(int n){
this->num=n;
}
void addArray(int a){
myArray.push_back(a);
}
mainben így deklaráltam:
vector<int> myArray;
MyClass n(35,myArray);
"Erre nekem hivát ad"
Konkrétan mi a hibaüzenet?
Konkrétabban írd le ennek mit kéne csinálnia.
Egybként a fordítási hibára ez a megoldás:
void addArray(int a){
myArray.push_back(a);
}
Ez nincs benne a classba és te elakarod érni a myArray nevű vektort.
Ezt a classba:
void addArray(int a);
Ezt pedig a deklarációhoz:
void MyClass::addArray(int a) {
myArray.push_back(a);
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!