Quando provo a passare un oggetto contenente un puntatore come variabile esemplare in una funzione nel main, il compilatore mi dà questo warning
obj\Debug\main.o||In function `main':|
D:\programmic++\bigstuff\main.cpp|23|undefined reference to `setValues(std::string, largeIntegers&)'|
D:\programmic++\bigstuff\main.cpp|29|undefined reference to `setValues(std::string, largeIntegers&)'|
||=== Build finished: 2 errors, 0 warnings ===|
Il mio codice del main e della funzione
// Somma interi di grandi dimensioni utilizzando la classe largeIntegers.h.
// i numeri vengono letti come array di caratteri. Vanno inseriti al contrario e trasformando ogni cifra in un intero
#include <iostream>
#include "largeIntegers.h"
#include <string>
using namespace std;
void setValues(string, largeIntegers&); // funzione per inserire i valori
int main()
{
largeIntegers Intsum;
string number;
cout << "Inserire il primo intero:";
cin >> number;
largeIntegers Int(number.length());
setValues(number, Int);
cin >> number;
largeIntegers Int2(number.length());
setValues(number, Int2);
Int.printInt();
cout << endl;
Int2.printInt();
return 0;
}
void setValues(string Linenum, largeIntegers numint)
{
int count=0;
for(int i=Linenum.length()-1; i>=0; i--)
{
int digit = Linenum[i]-48;
numint.insertAt(count,digit);
count++;
}
}
e dichiarazione della classe
#ifndef LARGEINTEGERS_H
#define LARGEINTEGERS_H
class largeIntegers
{
public:
largeIntegers(int size = 1);
~largeIntegers();
void insertAt(int index, int numb);
void sumInt(const largeIntegers& otherInt, const largeIntegers& other2Int);
void minusInt(const largeIntegers& otherInt, const largeIntegers& other2Int);
void multiInt(const largeIntegers& otherInt, const largeIntegers& other2Int);
bool isBigger(const largeIntegers& otherInt);
void printInt() const;
private:
int *num;
int maxSize;
int length;
};
#endif // LARGEINTEGERS_H