UPDATE: Okay, danke an alle! Mein Lehrbuch sagt, dass der Funktionsprototyp erfordert, dass die Funktionen in der Klammer deklariert werden, und die gezeigten Beispiele sehen etwas anders aus als der Code selbst im Funktionskopf und Funktionskörper, also .. Ich ging mit dem, was es mir zeigte. Ich korrigierte es mit dem Vorschlag, die Klammer des Prototyps leer zu lassen und es funktionierte.Aufruf eines Funktionsfehlers in Visual Studio 2015
Für den Rekord hasse ich wirklich diese Lehrbücher ... Vielen Dank noch einmal für Ihre Hilfe!
OP: Ich erhalte diese Fehlermeldung:
C2660 'getLetter': function does not take 0 arguments.
Der Code ist dies:
#include <iomanip>
#include <iostream>
#include <cmath>
using namespace std;
char getLetter(char letter);
int main()
{
char firstLetter = getLetter();
cout << firstLetter;
return 0;
} //end of main function
char getLetter()
{
char letter = ' ';
cout << "Enter a character: ";
cin >> letter;
return letter;
} // end of getLetter function
Mein Code sieht aus wie das Beispiel in dem Buch, aber keiner von der Beispiele verwenden die Funktion "char", sie alle verwenden double oder int; nicht sicher, ob das zählt. Der Fehler (in Zeile 12, unten in der Hauptfunktion) ist auch der Code, der von meinem Lehrer geschrieben wurde, nicht von mir, was es für mich noch verwirrender macht. Ich habe Schwierigkeiten, diese Lektion zu verstehen und brauche einen zweiten Standpunkt.
Ändern Sie die Deklaration 'char getLetter (char letter);' in 'char getLetter();', damit die Signatur der Definition entspricht. – songyuanyao
Lesen Sie den Fehler. Schau dir deinen Code an. Es gibt 3 Zeilen mit 'getLetter'. Sehen sie alle gleich aus? – John3136
@songyuanyao Vielen Dank! – CVHansen