error LNK2019 & fatal error LNK1120

HORNSWOGGLE

C++ Beginner
Hi,

Hab hier ein Problem, dessen Lösung ich schon eine ganze Stunde gegoogelt habe, doch ich finde nur andere Foren, bei denen immer die Unterschiedlichsten Lösungen stehen, ich versteh diese zwei Fehlermeldungen im Compile Log nicht!: :(

Code:
#include <iostream>
#include <conio.h>

using namespace std;

//Funktions-Prototyp
int do_stuff (int par);
int do_stuff (int par1, int par2);
double do_stuff (double par);
double do_stuff (double par1, double par2);
void do_stuff ( ... );

int main (void){
	int var1;
	double var2;
	//Aufruf von "int do_stuff (int)"
	var1 = do_stuff (10);
	cout << var1 << '\n';
	
	//Aufruf von "double do_stuff (double)"
	var2 = do_stuff (10.2);
	cout << var2 << '\n';
	
	//Aufruf von "int do_stuff (int, int)"
	var1 = do_stuff (10, 11);
	cout << var1 << '\n';
	
	//Aufruf von "double do_stuff (double, double)"
	var2 = do_stuff (10.11, 11.22);
	cout << var2 << '\n';
	
	//Falscher Funktionaufruf, daher ->
	//-> Aufruf von "void do_stuff(...)"
	do_stuff ('a','b','c');
	return 0;
}
//Funktionsdefinition
int do_stuff (int par) {
	return(par * 2);
}
int do_stuff(int par1, int par2) {
	return (par1 * par2);
}
double do_stuff (double par1, double par2) {
	return (par1 * par2);
}
void do_stuff ( ... ) {
	cout << "Fehler: Falscher Funktionsaufruf\n";
	
}
Code:
1>------ Build started: Project: GalileoC_TUT, Configuration: Debug Win32 ------
1>Compiling...
1>func10.cpp
1>Linking...
1>func10.obj : error LNK2019: unresolved external symbol "double __cdecl do_stuff(double)" (?do_stuff@@YANN@Z) referenced in function _main
1>C:\Dokumente und Einstellungen\Tobias\Eigene Dateien\Visual Studio 2005\Projects\GalileoC_TUT\Debug\GalileoC_TUT.exe : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "file://c:\Dokumente und Einstellungen\Tobias\Eigene Dateien\Visual Studio 2005\Projects\GalileoC_TUT\GalileoC_TUT\Debug\BuildLog.htm"
1>GalileoC_TUT - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
 
In meinem Buch steht das aber nicht so drin, habs jetzt noch hinzugefügt und Funktioniert jetzt, aber möcht ich noch gerne genau wissen, Wieso und für Was ich noch diese Funktion benötige.:)

Ich nehme an das "__cdecl" bedeutet cdeclaration?


grüssle auch ge:)
 
Hi.
In meinem Buch steht das aber nicht so drin, habs jetzt noch hinzugefügt und Funktioniert jetzt, aber möcht ich noch gerne genau wissen, Wieso und für Was ich noch diese Funktion benötige.:)
Das mußt du dich selbst fragen. Du hast doch diese Funktion ausdrücklich deklariert -- allerdings nirgendwo definiert?!
Ich nehme an das "__cdecl" bedeutet cdeclaration?
cdecl ist die (Standard-) Aufrufkonvention.

Gruß
 
Ne ne ne, jetzt weiß ich was Falsch war, ich hab mal wieder vergessen etwas und zwar, die Funktionsdefinition:

Code:
double do_stuff (double par) {
	return (par * 2);
}
Deshalb hat er "//Aufruf von "double do_stuff (double)"" nicht ausgeführt und das war auch der Grund für diese Fehler!:-(

Problem gelößt und danke für die schnellen Antworten.:)
 
Zurück