繁体   English   中英

不断出现错误“不是类或名称空间”或“无法在没有对象的情况下调用成员函数”

[英]Keep getting error “is not a class or namespace” or “cannot call member function without object”

我收到此错误,所以我得到了尝试方法的建议...我遇到了一次史诗般的失败。 这是我的代码,我不知道我在做什么错,请解释并纠正我,我想学习,而不仅仅是解决问题:

#include <iostream>
#include <string>
#include <stdlib.h>
#include <windows.h>

using namespace std;

class datum
{
    public:
    int leto;
    int mesec;
    int dan;
};

class racun
{
    string naslov;
    float cena; // Skupna cena na računu
    int i; // Števec
public:
    datum izdaje; //racuna

   void nastavi_izracunaj_izpisi()
    {

        izdaje.dan = rand() % 30 + 1; //Dan
        izdaje.mesec = rand() % 12 + 1; //Mesec
        izdaje.leto = rand() % 30 + 1985; //Leto
        i = rand() % 100; // Koliko računov smo imeli.
        int produkti;
        produkti = rand() % i + 200; //Koliko produktov smo imeli
        int produkt1[200]; //cena prvega produkta
        int produkt2[200]; //cena drugega produkta
        int a; //števec produktov
        a=0; //ki ga nastavimo na nič
        do
            {
                produkt1[a] = rand() % 200;
                produkt2[a] = rand() % 200;
                a=a+1;
            }while(a!=produkti);
            int b; //kateri produkt bo izpisalo
            b = rand() % 200;
            cout<<"Kupili ste:"<<produkti<<" produktov"<<endl; //izpis za produkte 
        do
            {
                cena=produkt1[b]+produkt2[b];
                i++;
            }while(i!= produkti);
            cout<<"Cena računa brez ddv je: "<<cena<<endl;

            //DDV
            float ddv = 1.12797374897;
            float cena2;
            float cenaddv;
            cena2=cena/ddv;
            cenaddv=cena+cena2;
            cout<<"Cena računa z ddv je: "<<cenaddv<<endl;

    }
};

int main()
{
    racun nekaj;
    nekaj::nastavi_izracunaj_izpisi(); //Nena dela, FAG
    system("PAUSE");
    return 0;
}
nekaj::nastavi_izracunaj_izpisi();
// should be
nekaj.nastavi_izracunaj_izpisi();

这是调用方法的正确方法。 或访问成员(如@Ben Voigt所说)。

// Tehre an integer division by 0 on this line
produkti = rand() % i + 200;

// because this line always return 0
i = rand() % 100; // Koliko računov smo imeli.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM