C++ - "Funktion nimmt keine 0 Argumente." Behebung?

Schönen guten Abend!

Das Problem ist etwas anders als in der Frage, jedoch ist es für mich schwer dies in einem Satz zu erklären. Nun erstmal mein C++ Quellcode zum Verständnis:

#include <iostream>


int numbCount(int count);


int main()
{
	int num1 = numbCount();
	int num2 = numbCount(2);

  ...

}
  
  int numbCount(int count = 1) 
  {
  	int userNumb;
  	std::cout << "Please enter the " << count << ". integer: ";
  	std::cin >> userNumb;
  
  
  	return userNumb;
  }

Also, wie man sehen kann hat meine Funktion numbCount() Parameter. Außerdem bevorzuge ich es die Funktionsdefinition unter der Main() Funktion zu schreiben.

int numbCount(int count);

int main()
{
...
}

int numbCount(int count = 1)
{
...
}

Somit muss ich die Funktionsdeklaration über der Main() Funktion "erwähnen", damit ja der Compiler weiß, dass die Definition noch kommt. Dies scheint in diesem Fall bei einer Funktion mit Standardparameter für VS ein Problem darzustellen - Fehler "numbCount: function does not take 0 arguments".

Wenn ich jedoch die Funktionsdefinition von "numbCount()" über die Main() Funktion packe, funktioniert alles normal.

int numbCount(int count = 1)
{
...
}

int main()
{
...
}

Habe bereits versucht den Parameter in der "erwähnten" Funktionsdeklaration zwischen den runden Klammern ebenfalls einzufügen, also

int numbCount(int count = 1);

jedoch kommt dann der Fehler 'numbCount': redefinition of default argument: parameter 1

FRAGE:
Gibt es eine Möglichkeit in einer Funktion Standardparamter (also wenn kein Wert in Funktionsaufruf zwischen Klammern angegeben -> standardm. Wert 1) zu haben aber trotzdem die Funktionsdefinition unter der Main() Funktion zu belassen?

int numbCount(int count);

int main()
{
    int num1 = numbCount(); // Kein Wert angegeben - Std. Wert 1
    int num2 = numbCount(2);
}

int numbCount(int count = 1)
{
...
}

Vielen Dank und einen schönen Abend! :)

Computer, Software, Programm, programmieren, Anwendung, Funktion, Cplusplus, Anwendungsentwicklung, Argumente, Code, CPP, Fehlerbehebung, fehlercode, Programmiersprache, Softwareentwicklung, Visual Studio, Fehlermeldung, Parameter
Lenovo ThinkPad T410: Gelegentlich lässt es nicht einschalten!? (Hardwareproblem? Vielleicht auch Anmeldeproblem bei Linux Mint 21.2?)?

Hallo,
Wenn ich den Laptop einfach zuklappe, oder auch mich abmelde, passiert es immer häufiger, dass ich ihn nicht mehr anbekomme! Das heisst, er gibt keine Reaktion von sich. Ich stecke dann dis CMOS-Batterie aus und ein und drücke auf den Einschaltknopf und den "ThinkVantage-Button". Immer wieder und halte sie gedrückt. Und ich stecke den Netzstecker aus und ein und schiebe den Akku hinein und ziehe ihn wieder heraus. Dies alles abwechselnd und gleichzeitig und durcheinander und so weiter. Nach 15 - 20 Minunten startet das ThinkPad dann wieder! WIESO???
Heute sogar zu einem Zeitpunkt als die CMOS-Batterie gerade ausgesteckt gewesen ist und es gab nicht einmal eine Fehlermeldung. Selbst die Typische, dass Uhrzeit und Datum einstellt werden müssten, erschien nicht.

Bevor ich zum ersten mal das Netzteil und den Akku gleichzeitig entfernte, leuchtete heute morgen auf der Aussenseite des Computers der Halbmond. Ich glaube in rot. Möglicherweise stand der Laptop auf Stand-by und der Akku ging in der Nacht beinahe leer.

Jedenfalls bin ich mit meinem Latein am Ende.
Würde es etwas ändern können, wenn ich die vermutlich 13 Jahre alte CMOS-Batterie einmal wechsle?

Besten Dank!

PC, Computer, Akku, Software, Betriebssystem, Technik, Notebook, Linux, Hardware, programmieren, Ubuntu, Lenovo, Linux Mint, Mint, Laptop
Wie installiert man in Arch/Manjaro Linux Software?

Wenn man von eigentlich Debian Nutzer ist ist das fremdlich etwas anderes als Apt zu nutzen.
Ich weiss nur das es 3 Möglichkeiten gibt.

  • AUR
  • pacman
  • flatpak
  1. Was ist das Genau ?
  2. Wie kann ich mir das merken / eine Software suchen ?
  3. Was ist am besten ?

Klar ich will das neuste & stabilste ganz bequem haben aber vor allem ist mir viel wichtiger es direkt von der quelle zu kriegen wenn es denn geht.

Ich will hier nicht anfangen irgendwie Github Zeug herunterladen und selber zu kompilieren oder von irgendwelchen privat personen meinen alltags Browser haben wo alle Passwörter sind.

Und die meisten Sachen haben nichts mit Manjaro bzw. Arch auf ihrer Download Seite.

Wenn du glück hast Deb File und sehr sehr selten rpm Pakete für Fedora hab ich das gleiche durchgemacht.

Wie soll ich da das Zeug finden ? Ohne jedes mal googeln how to install chrome manjaro.

Kann mir jemand das wichtigste zusammenfassend beantworten so als guide.
Man muss nicht umbedingt stundenlange videos gucken, ihr habt die Erfahrung schon gemacht wahrscheinlich oder kleines cheat sheet.

Anwendungsbeispiele:

chrome, vs code, discord, steam, firefox developer edition, xampp, node js & npm

Mehr brauch ich überhaupt nicht auf meinem System und ich seh das ohnehin als Test System.

Hauptsächlich werde ich was anderes benutzen, ich kann nicht von heut auf morgen auf Arch Linux umsteigen aber vielleicht wenn ich mehr Ahnung habe.

PC, Server, Computer, Windows, Betriebssystem, Technik, Linux, IT, programmieren, Ubuntu, USB-Stick, Anwendungsentwicklung, booten, Fachinformatiker, fedora, Hacker, Informatik, Informatiker, Linux Mint, Open Source, openSUSE, Programmiersprache, Softwareentwicklung, Treiber, Arch Linux, Debian, Manjaro
Kali Linux als Host System?

Guten Abend liebe GuteFrage Community,

Nun habe ich zur Freude von uns allen einmal eine Kali Frage ^^

Ironie folgt:

Also: Ich habe keine Ahnung von Computern und habe auf TikTok gesehen das da so einer Kali hatte und möchte nun wild auf den Knöpfen drücken ^^

Ironie aus:

Also: Meine Frage beliegt darin, ob es unter bestimmten von eurer Seite als legitim empfunden wird, Kali Linux bzw. ParrotOS als Host System zu benutzen. In meinem Fall geht es um jegliche Einsatzzwecke im Zusammenhang mit Softwareentwicklung, Blue Team Pentesting, Malware Analyse und Ähnliches. Ich möchte es demzufolge nicht installieren, weil es „Kali“ (oder eben „ParrotOS“) heißt, sondern da ich die Tools und die gegebene Umgebung gebrauchen kann. Ich selber habe auch entsprechende Erfahrung im (fortgeschrittenen) Umgang mit Linux Systemen. Ich setze an dieser Stelle übrigens ParrotOS und Kali in die Frage, da ich mich noch nicht entschieden habe, welches ich eventuell nutzen würde.

Es ist nun nicht so, dass ich mir nicht grundsätzlich selbstständig die Pro- und Contra- Argumente auflisten könnte, sondern dass ich schlichtwegergreifend externe Meinungen haben möchte. Die Systeme auf denen ich Kali / ParrotOS installieren wollte, werden beide nur in sehr eingeschränktem Rahmen für andere Zwecke verwendet und sind ansonsten auf IT-Anwendungszwecke limitiert.

Mit freundlichen Grüßen,

eurer Codeline

Test, Technik, Linux, IT, programmieren, Ubuntu, Analyse, booten, Hacking, Malware, Tool, Arch Linux, arch, host, parrot, Virtuelle Maschine, Penetrationstest, Kali Linux
Java Programm Gleichungssytem 3. Grades/Cramersche Regel?

Hallo, ich habe ein Programm erstellt, dass mithilfe der Cramerschen Regel ein Gleichungssytem 3. Grades löst (siehe unten) Nur kommt bei dem Ergebnis immer x1=0.0, x2=0.0 und x3=0.0 raus, egal was man eingibt. Ich finde den Fehler einfach nicht, kann mir da bitte jemand weiterhelfen?

LG

import java.util.*;
public class gs3 {
    public static void main(String[] args) {
        Scanner ein = new Scanner(System.in);
        System.out.println("Geben Sie den Koeffizienten des Gleichungssystems ein:");
        double[][] m = new double[3][4];
        for (int i = 0; i < 3; i++) {
            System.out.println("Gleichung " + (i + 1) + ":");
            for (int j = 0; j < 3; j++) {
                System.out.println("Koeffizient x" + (j + 1) + ":");
                m[i][j] = ein.nextDouble();
            }
            System.out.println("Rechte Seite: ");
            m[i][3] = ein.nextDouble();
        }
        double determinanteA = calculateDeterminant(m);
        if (determinanteA == 0) {
            System.out.println("Gleichungssystem nicht lösbar.");
        } else {
            double[] ergebnis = new double[3];
            for (int i = 0; i < 3; i++) {
                double[][] modifiedM = modifyM(m, i);
                double determinantModified = calculateDeterminant(modifiedM);
                ergebnis[i] = determinantModified / determinanteA;
            }
            System.out.println("Lösung: x1 = " + ergebnis[0] + ", x2 = " + ergebnis[1] + ", x3 = " +
                ergebnis[2]);
        }
        ein.close();
    }
    private static double calculateDeterminant(double[][] m) {
        double determinante = 0.0;
        determinante = m[0][0] * (m[1][1] * m[2][2] - m[1][2] * m[2][1]) -
            m[0][1] * (m[1][0] * m[2][2] - m[1][2] * m[2][0]) +
            m[0][2] * (m[1][0] * m[2][1] - m[1][1] * m[2][0]);
        return determinante;
    }
    private static double[][] modifyM(double[][] m, int column) {
        double[][] modifiedM = new double[3][3];
        for (int i = 0; i < 3; i++) {
            for (int j = 0, k = 0; j < 3; j++) {
                if (j != column) {
                    modifiedM[i][k++] = m[i][j];
                }
            }
        }
        return modifiedM;
    }
}

Computer, Programm, programmieren, Java, Array, codieren, Codierung, Informatik, Programmiersprache
Java: Wieso funktioniert der Zähler vom Stack nicht?

Außer folgender Klasse gibt es noch eine Klasse Queue und Stack. Kann mir jemand erklären, warum die Münzen des 1 und 2 Euro sowie des 50 Cents Stapels funktionieren und die des 20 und 10 Cent Stapels nicht? Danke.

package muenzen;

import java.util.*;

public class muenzen {
  public static int muenze;
  public static int ausgabe, zaehler, zaehler2, zaehler3, zaehler4, zaehler5;
  public static double wert2, wert;

  static Scanner sc = new Scanner(System.in);
  static Stack<Integer> muenzen = new Stack<>();
  static Stack<Integer> zehncent = new Stack<>();
  static Stack<Integer> zwanzigcent = new Stack<>();
  static Stack<Integer> fuenfzigcent = new Stack<>();
  static Stack<Integer> eineuro = new Stack<>();
  static Stack<Integer> zweieuro = new Stack<>();
  
  public static void stapelerstellen() {
    for (int i = 0; i < 20; i++) {
      System.out.println("Welchen Wert hat die Münze? (10 Cent/ 20 Cent/ 50 Cent/ 1 Euro/ 2 Euro)");
      muenze = sc.nextInt();

      if (muenze == 1) {
        eineuro.push(muenze);
      }
      else if (muenze == 2) {
        zweieuro.push(muenze);
      }
      else if (muenze == 10) {
        zehncent.push(muenze);
      }
      else if (muenze == 20) {
        zwanzigcent.push(muenze);
      }
      else if (muenze == 50) {
        fuenfzigcent.push(muenze);
      }
      else {
        System.out.println("Ungültige Eingabe. Bitte probieren Sie es erneut.");
      }
    }
  }

  public static void stapelausgabe() {
    zaehler = 0;
    zaehler2 = 0;
    zaehler3 = 0;
    zaehler4 = 0;
    zaehler5 = 0;

    while (!eineuro.isEmpty() || !zweieuro.isEmpty() || !zehncent.isEmpty() || !zwanzigcent.isEmpty() || !fuenfzigcent.isEmpty() ) {
      while (!eineuro.isEmpty()) {
        eineuro.pop();
        zaehler = zaehler + 1;
      }

      wert = zaehler;
      System.out.println("Auf dem 1€ Stapel liegen/liegt " + zaehler + " Münze(n). Er hat somit einen Wert von " + wert + "€");

      while (!zweieuro.isEmpty()) {
        zweieuro.pop();
        zaehler2 = zaehler2 + 1;
      }

      wert = zaehler2 * 2;
      System.out.println("Auf dem 2€ Stapel liegen/liegt " + zaehler2 + " Münze(n). Er hat somit einen Wert von " + wert + "€");

      while (!fuenfzigcent.isEmpty()) {
        fuenfzigcent.pop();
        zaehler3 = zaehler3 + 1;
      }

      wert = zaehler3 * 50 / 100;
      wert2 = wert * 100;
      System.out.println("Auf dem 50 Cent Stapel liegen/liegt " + zaehler3 + " Münze(n). Er hat somit einen Wert von " + wert + "€ oder " + wert2 + " Cent");

      while (!zwanzigcent.isEmpty()) {
        zwanzigcent.pop();
        zaehler4 = zaehler4 + 1;
      }

      wert = zaehler4 * 20 / 100;
      wert2 = wert * 100;
      System.out.println("Auf dem 20 Cent Stapel liegen/liegt " + zaehler4 + " Münze(n). Er hat somit einen Wert von " + wert + "€ oder " + wert2 + " Cent");

      while (!zehncent.isEmpty()) {
        zehncent.pop();
        zaehler5 = zaehler5 + 1;
      }

      wert = zaehler5 * 10 / 100;
      wert2 = wert * 100;
      System.out.println("Auf dem 10 Cent Stapel liegen/liegt " + zaehler5 + " Münze(n). Er hat somit einen Wert von " + wert + "€ oder " + wert2 + " Cent");
    }
  }

  public static void main(String[] args) {
    stapelerstellen();
    stapelausgabe();
  }
}
programmieren, Java, Eclipse, Programmiersprache, Zähler, stack
Wie korrigiere ich meinen CountSort-Code, damit er absteigend sortiert?

Hallo!

Meine Aufgabe: Ich soll eine Count Sort implementieren, und zwar so, dass man beim Programm aufrufen im Argument auswählen kann, ob das Array aufsteigend oder absteigend sortiert werden soll.

Mein Problem: Das Aufsteigen sortieren funktioniert, aber das Absteigen sortiert ebenfalls aufsteigend, obwohl es absteigend sortieren soll.

Meine Annahmen: Eigentlich gehe ich davon aus, dass meine Funktion "count_sort_write_output_array", welche das sortierte Array basierend auf der angegebenen Sortierrichtung erstellt, korrekt ist. Schließlich ist es einfach der gleiche Code wie für ASCENDING (aufsteigend), bloß mit geringfügigen Änderungen.

Ich denke eher, dass es daran liegt, dass mein Code erst gar nicht DESCENDING (absteigend) 'auswählt', wenn "desc" als Argument gegeben wird. Ich habe als Standardverhalten ASCENDING gesetzt (also falls kein Argument gegeben wird, oder ein falsches Argument gegeben wird, wird es aufsteigend sortiert), also dachte ich vielleicht, dass entweder

if (strcmp(order, "asc") == 0)

oder

else if (strcmp(order, "desc") == 0)

(in der SortDirection Funktion) irgendwie "falsch" sind, sodass die Sortierfunktion immer das Standardverhalten auswählt. (Also ASCENDING)

Als Debug-Versuch habe ich:

printf("Sortdirection must be defined. Using default: ASCENDING\n");

eingefügt, um zu schauen ob das wirklich der Fall ist. Dennoch wird dieser printf nie gezeigt, selbst wenn ich kein Argument eingebe. Was mich ziemlich verwirrt. Bricht es vorher ab?

Meine 'Frage' an euch: Ich würde es sehr schätzen, wenn jemand einen Blick darauf werfen könnte. Eventuell kann jemand erkennen, woran mein Semantikfehler liegt.

Aber würde ich es auch schätzen, wenn mir jemand andere Debug-Ideen nennen könnte. Ich habe noch nicht viel mit 'Debugging-Methoden' beschäftigt und habe meine Probleme bisher größtenteils mit printfs gelöst. Aber vielleicht gibt es da etwas leichteres!

Vielen Dank!

Bild zu Frage
Computer, programmieren, Code, Informatik, Programmiersprache, Visual Studio, Algorithmus, debugging, Sortieralgorithmus
Wie kann ich in Unity 3D die Position speichern und wieder Aufrufen?

Hallo, ich bin 15 benutze die Engine "Unity" seit ungefähr 2einhalb Jahren. Ich habe vor einigen Wochen ein Projekt gestartet, wo es darum geht, durch einen Trigger zu gehen wie ein Portal und dann auf verschiedenen Planeten zu landen und diese zu Erkunden. Kurz gesagt geht es um die Erkundung von Planeten. Jeder Planet hat eine eigene Szene und ich benutze DontDestroyOnLoad damit z.B. In Game Optionen gespeichert werden bzw. Nicht zerstört werden, wenn man die Szene wechselt. Nun habe ich aber vor das wenn man das Spiel verlässt, und wieder das Spiel startet man nicht von vorne beginnen muss und wieder im Hauptmenü landet sondern dort weiter machen kann wo man aufgehört hat. Das sozusagen die Position gespeichert wird und man sofort im Spiel landet. Aber ich habe keine Ahnung, wie ich das hinbekommen soll. Mir kam da evtl. PlayerPrefs in den Sinn aber die speichern wenn dann auch nur beispielsweise die In Game Optionen wie Grafikeinstellungen oder Sound. Können PlayerPrefs auch die Position speichern und die Szene in der man zuletzt war? Es ist nicht einfach PlayerPrefs, DontDestroyOnLoad usw. Zu verstehen, habe mir auch die ganze Nacht den Kopf drüber zerbrochen. Deswegen versuche ich mein Glück hier und hoffe, dass man mir weiter helfen kann. Freue mich auf alle Antworten!

Spiele, PC, Technik, programmieren, C Sharp, Spieleentwicklung, Unity 3D, Unity

Meistgelesene Fragen zum Thema Programmieren