我是一个新手程序员。我有错误问题:数组下标的类型无效[int]'。我不明白为什么。
#include <iostream>
#include "D:\programyCodeBlocks\arytmetyka\include\CLiczba.h"
using namespace std;
int main()
{
CLiczba a;
CLiczba b;
CLiczba wynik;
a.vset("5");
b.vset("5");
cout << "calk: " << a.czescCalk[0] << endl;
cout << "ulam: " << a.czescUlam[2] << endl;
cout << "znak: " << a.znak << endl;
wynik = a.cdodaj(b);
return 0;
}
问题出现在 cout << "calk: " << a.czescCalk[0] <
#ifndef CLICZBA_H
#define CLICZBA_H
#include <string>
#include <vector>
using namespace std;
class CLiczba
{
public:
CLiczba();
CLiczba(string liczba);
virtual ~CLiczba();
void vset(string liczba);
CLiczba cdodaj(CLiczba liczba);
CLiczba codejmij(CLiczba liczba);
vector<int> czescCalk();
vector<int> czescUlam();
bool znak;
int dlCalk;
int dlUlam;
protected:
private:
};
#endif // CLICZBA_H
和
#include "D:\programyCodeBlocks\arytmetyka\include\CLiczba.h"
using namespace std;
#include <iostream>
//#include <string>
CLiczba::CLiczba()
{
//dlCalk = 0;
//dlUlam = 0;
znak = true;
} // End CLiczba::CLiczba()
CLiczba::CLiczba(string liczba)
{
//dlCalk = 0;
//dlUlam = 0;
znak = true;
vset(liczba);
} //End CLiczba::CLiczba(string liczba)
void CLiczba::vset(string liczba)
{
int pom = 0;
if (liczba.at(0) == '-')
{
znak = false;
pom = 1;
} //End if (liczba.at(0) == '-'
int pozPrzecinek = liczba.find(',');
while(pom < pozPrzecinek)
{
czescCalk.push_back(liczba.at(pom) -48);
//dlCalk++;
pom++;
} //End while(pom < pozPrzecinek)
pom++;
while(pom < liczba.length())
{
czescUlam.push_back(liczba.at(pom) -48);
//dlUlam++;
pom++;
} //End while(pom < liczba.length())
} //End void CLiczba::vset(string liczba)