ich kompiliere einen code bei dem die folgende fehlermeldung kommt:
C++:
there are no arguments to ‘memset’ that depend on a template parameter,
. Ich kompiliere mit g++ 4.1.2 (gcc) unter Linux. Das Makefile muss stimmen weil ich auf einer anderen Maschine den code problemlos compilieren kann. Warum aber auf dieser nicht? Woran könnte das liegen?
naja du müsstest doch eine codezeile haben wo das auftritt?
Ansonsten würd ich ma tippen du hast stdio.h (C-Header) eingebunden, statt cstdio (C++-Header) o.ä -- class God : public ChuckNorris { };Dieser Post wurde am 20.01.2009 um 11:53 Uhr von FloSoft editiert.
Ich habe immer mit <stdio.h> eingebunden und kompiliere mit g++ . Ist also C++ code. Muss ich da stattdessen mit <cstdio.h> einbinden? Seltsam ist dass es auf anderen systemen läuft...
nur <cstdio>. der andere ist der C-Header, welcher dir unter Umständen probleme erzeugen kann, z.b bzgl "max" und "min", da die häufig in C noch makros sind.
Ansonsten sollte man memset unter C++ nur bedingt einsetzen, memset zerstört ggf Strukturen, die von Konstruktoren erzeugt worden sind!
Wo ist "l" denn definiert? -- class God : public ChuckNorris { };
std::memset befindet sich in <cstring>, std::sort befindet sich in <algorithm>. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra