undefined reference to/problem

0

Witam,

Wiem, że istnieje wiele tematów o takiej samej nazwie, ale u mnie jest trochę inaczej.
Gdy tworzę nowy projekt, dodaję klasę (wklejam dokładnie to samo, do tak samo nazwanych plików jak poniżej), to program działa.
Gdy go zamknę, otworzę ponownie i skompiluję, to wywala błędy:
2.2.cpp:(.text+0x26): undefined reference to 'tutaj wywala tytuły wszystkich funkcji'

O co może chodzić, dlaczego działa tylko za 1szym razem?
Pozdrawiam

//EDIT: Program DEV-C++ 5.11 albo Code::Blocks 16.01

2.2.cpp

#include <iostream>
#include <iomanip>
#include "Tdzialania.h"
using namespace std;

int main(int argc, char** argv) {
	Tdzialania licz;
	licz.podajDane();
	cout<<"Suma to: "<<licz.dodawanie()<<endl;
	cout<<"Różnica to: "<<licz.odejmowanie()<<endl;
	cout<<"Iloczyn to: "<<licz.mnozenie()<<endl;
	cout<<"Iloraz to: "<<setprecision(3)<<licz.dzielenie()<<endl;
	cout<<"Potęgowanie to: "<<licz.potegowanie()<<endl;
	return 0;
}

Tdzialania.cpp

#include "Tdzialania.h"
#include <iostream>
#include <cmath>

using namespace std;

void Tdzialania::podajDane(){
	cout<<"Podaj liczby A i B"<<endl;
	cin>>a;
	cin>>b;
}

int Tdzialania::dodawanie(){
	return a+b;
}

int Tdzialania::odejmowanie(){
	return a-b;
}

int Tdzialania::mnozenie(){
	return (a*b);
}

float Tdzialania::dzielenie(){
	float c=(float)a/b;
	return (c);
}

float Tdzialania::potegowanie(){
	return pow(a,b);
}

Tdzialania.h

#ifndef TDZIALANIA_H
#define TDZIALANIA_H

class Tdzialania{
	private: int a,b;
	public:
		void podajDane();
		int dodawanie();
		int odejmowanie();
		int mnozenie();
		float dzielenie();
		float potegowanie();
};

#endif
5

Może otwierasz jako pojedynczy plik, a nie projekt?

0
kq napisał(a):

Może otwierasz jako pojedynczy plik, a nie projekt?

Dzięki, po lewej, gdy otwieram plik nazwa.cpp , jest tylko 1 plik.
Gdy otwieram nazwa.dev, wtedy otwiera mi projekt i wszystko działa.
Dzięki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1