Le code donné ici lorsqu'il est compilé par g ++ s'exécute correctement mais donne une erreur lors de la compilation avec gcc. De toute évidence, cela est correct pour C++, mais pas pour C. S'il vous plaît aidez-moi à corriger la syntaxe C.Différence entre C et C++
# include <stdio.h>
typedef struct demo
{
int arr[20], i;
void setvalue(int num)
{for(i=0;i<20;i++)arr[i]=num;}
void printvalue()
{for(i=0;i<20;i++)printf("%d ",arr[i]);}
} example;
int main()
{
example e;
e.setvalue(100);
e.printvalue();
return 0;
}
journal d'erreur:
stov.c:7:2: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘{’ token
stov.c: In function ‘main’:
stov.c:18:3: error: ‘example’ has no member named ‘setvalue’
stov.c:19:3: error: ‘example’ has no member named ‘printvalue’
Ce serait bien quand poser de telles questions pour nous dire ce que l'erreur est. – Bart
Votre barre d'espace est-elle brisée? Et votre clé d'entrée un peu douteuse? –
Je ne l'ai pas downvote, mais je compris ceux qui ont fait: C et C++ sont fondamentalement différents, et votre question n'a pas de sens; vous demandez essentiellement "J'ai fait X, pourquoi Y n'est pas lié?" Souhaitez-vous que votre code fonctionne sur un compilateur Pascal? En JavaScript? En Haskell? Certainement pas. Alors pourquoi devrait-il fonctionner en C? La confusion commune et déraisonnable de C et C++ est vraiment assez fastidieuse. –