Darkman3483
Grünschnabel
hallo,
ich muss für eine Arbeit ein Programm ein wenig erweitern und bin dabei auf folgende Fehlermeldung gestoßen:
hier ist der zugehörige Code:
ConQuantizer.h:
Ich verwende g++ 4.1 auf einem Debian Linux system. Ich habe schon mehrfach die schreibweise geprüft und auch versucht, den Programmcode der Funktion rauszunehmen, konnte den fehler aber nicht finden.
ich muss für eine Arbeit ein Programm ein wenig erweitern und bin dabei auf folgende Fehlermeldung gestoßen:
testbed.cpp.text+0x1f5f): undefined reference to `ConQuantizer::quantize(std::valarray<unsigned int> const&, std::valarray<double> const&, double, std::valarray<unsigned int> const&, std::valarray<double> const&, double)'
hier ist der zugehörige Code:
ConQuantizer.h:
und ConQuantizer.cpp:#ifndef _ConQuantizer
#define _ConQuantizer
#include "MPQuantizer.h"
class ConQuantizer {
private:
MPQuantizer *innerCode;
MPQuantizer *outerCode;
unsigned int maxIteration;
public:
ConQuantizer(MPQuantizer *inCode, MPQuantizer *outCode){
innerCode=inCode;
outerCode=outCode;
maxIteration=10;};
.
.
.
//this function expands constants to a constant profile-vector
void quantize(const std::valarray<bit> & bitPrefs, double bitGamma, double wBit, const std::valarray<bit> & checkPrefs, double checkGamma, double wCheck)
{
quantize(bitPrefs,std::valarray<double>(bitGamma,bitPrefs.size()),wBit,checkPrefs,std::valarray<double>(checkGamma,checkPrefs.size()),wCheck);
};
//start embedding/quantization with given profiles
void quantize(const std::valarray<bit> & bitPrefs, const std::valarray<double> & bitGamma, double wBit, const std::valarray<bit> & checkPrefs, const std::valarray<double> & checkGamma, double wCheck);
//sets the Value of the Variable nodes
void setVariableNode(const std::valarray<bit> prefs);
};
#endif
#include "ConQuantizer.h"
#include <cmath>
#include <iostream>
#include "MPQuantizer.h"
#include "ContainerFunctions.h"
#include "VariableNode.h"
#include "FunctionalNode.h"
using namespace std;
void ConQuantizer::quantize(const std::valarray<bit> & bitPrefs, const std::valarray<double> & bitGamma, double wBit, const std::valarray<bit> & checkPrefs, const std::valarray<double> & checkGamma, double wCheck)
{
innerCode->initialize(const std::valarray<bit> & bitPrefs, const std::valarray<double> & bitGamma, double wBit, const std::valarray<bit> & checkPrefs, const std::valarray<double> & checkGamma, double wCheck);
for(unsigned int i=0;i<maxIteration;i++)
{
innerCode->runEmbedd();
outerCode->initialize(innerCode->getQuantization(), bitGamma[0], wBit, checkPrefs[0], checkGamma[0], wCheck);
outerCode->runEmbedd();
innerCode->compVariableNodes(outerCode->getActualChecks());
//if(useSID)
//{
//runSID();
//}
}
};
Ich verwende g++ 4.1 auf einem Debian Linux system. Ich habe schon mehrfach die schreibweise geprüft und auch versucht, den Programmcode der Funktion rauszunehmen, konnte den fehler aber nicht finden.