On Wed, 2004-04-14 at 14:49, Eberhard Wilfrid ZFF TE-PR wrote:
Hallo zusammen,
ich hab ein Problem mit dem Praeprozessor,
ich hab folgenden Define:
#define GET_TEST_MACRO(name, idx) (&(test_ptr->name##[idx]))
in einem c-File habe ich folgenden Aufruf:
hallo = GET_TEST_MACRO(kap, kap_nr);
Der Kompiler spukt folgende Fehlermeldung aus
pasting "kap" and "[" does not give a valid preprocessing token
Ich verstehe leider nicht woran sich der Praeprozessor hier stoert. Das Problem taucht auch erst mit gcc version 3.3 auf mit 2.9 hatte ich hier keine Probleme Ein Klassiker unter den gcc-3.3.x Inkompatibilitäten ;)
Durchsuche mal das Archiv der gcc-Liste auf http://gcc.gnu.org und befrage google. Die "##" aus dem #define zu entfernen, dürfte vermutlich helfen. Ralf