-5

我是一个新手程序员。我有错误问题:数组下标的类型无效[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)
4

1 回答 1

0

从您的代码中,我假设您想czescCalk成为 a vector<int>,而不是返回 a 的方法vector<int>。在这种情况下你不应该写

vector<int> czescCalk();
vector<int> czescUlam();

vector<int> czescCalk;
vector<int> czescUlam;
于 2013-11-02T16:52:24.807 回答