main.cppNamespace :: Funktion kann nicht als Funktion
#include "Primes.h"
#include <iostream>
int main(){
std::string choose;
int num1, num2;
while(1 == 1){
std::cout << "INSTRUCTIONS" << std::endl << "Enter:" << std::endl
<< "'c' to check whether a number is a prime," << std::endl
<< "'u' to view all the prime numbers between two numbers "
<< "that you want," << std::endl << "'x' to exit,"
<< std::endl << "Enter what you would like to do: ";
std::cin >> choose;
std::cout << std::endl;
if(choose == "c"){
std::cout << "Enter number: ";
std::cin >> num1;
Primes::checkPrimeness(num1) == 1 ?
std::cout << num1 << " is a prime." << std::endl << std::endl :
std::cout << num1 << " isn't a prime." << std::endl << std::endl;
}else if(choose == "u"){
std::cout << "Enter the number you want to start seeing primes "
<< "from: ";
std::cin >> num1;
std::cout << "\nEnter the number you want to stop seeing primes "
<< "till: ";
std::cin >> num2;
std::cout << std::endl;
for(num1; num1 <= num2; num1++){
Primes::checkPrimeness(num1) == 1 ?
std::cout << num1 << " is a prime." << std::endl :
std::cout << num1 << " isn't a prime." << std::endl;
}
}else if(choose == "x"){
return 0;
}
std::cout << std::endl;
}
}
Primes.h
#ifndef PRIMES_H
#define PRIMES_H
namespace Primes{
extern int num, count;
extern bool testPrime;
// Returns true if the number is a prime and false if it isn't.
int checkPrimeness(num);
}
#endif
Primes.cpp
#include "Primes.h"
#include <iostream>
int Primes::checkPrimeness(num){
if(num < 2){
return(0);
}else if(num == 2){
return(1);
}else{
for(count = 0; count < num; count++){
for(count = 2; count < num; count++){
if(num % count == 0){
return(0);
}else{
testPrime = true;
if(count == --num && testPrime == true){
return(1);
}
}
}
}
}
}
ich die folgenden drei Fehler erhalten verwendet werden: Errors from terminal
Ich habe Stunden fo verbracht r Tage und immer noch kann nicht scheinen, die Fehler zu beheben. Ich habe versucht, mit extern und so ziemlich alles, was ich mir vorstellen kann.
Danke! Ich habe immer noch einige Fehler, ich habe nichts in der Datei main.cpp geändert und in den Dateien Primes.h und Primes.cpp "num" in "int" geändert. (Ich habe auch gesehen, dass ich versehentlich zweimal gezählt habe, also habe ich eine neue Variable "evaluate" dafür gemacht). Aber es sagt mir immer noch, dass es für alle meine Variablen mehrere Definitionen gibt; und mit nur int als der formale Parameter, wie würde ich num Wert über das eigentliche Argument übergeben? Müsste ich dies in eine Klasse einfügen, da dies eine Mitgliedsvariable wäre? – Neel