7
votes

C ++ std :: système "système" non membre de STD

Je reçois une erreur de compilation d'un programme C ++ dans laquelle des lignes appelle un appel de "STD :: System (SAVICING)". Ce programme a compilé il y a 3 ans, mais lors de la compilation d'aujourd'hui, je reçois une erreur que les États "System" n'est pas membre de "STD". Y a-t-il quelque chose que je dois importer pour utiliser STD :: System, a-t-il été abandonné ou a-t-il déplacé vers un autre fichier d'en-tête.


0 commentaires

4 Réponses :


7
votes

Avez-vous cela ?:

#include <cstdlib>


0 commentaires

2
votes

Assurez-vous de disposer de #include dans votre code.


0 commentaires

27
votes

std :: système est (et a toujours été) dans . .

Il n'est pas défini par la norme C ++ si des en-têtes standard s'incluent et, le cas échéant. Il est donc possible qu'ici il y a 3 ans, sur un compilateur différent ou une version différente du même compilateur, votre code a travaillé par accident, car l'un des en-têtes que vous inclurez, il est donc arrivé d'inclure . Sur le compilateur / la version que vous utilisez maintenant, ce n'est pas le cas.


0 commentaires

0
votes

J'ai essayé. Il fonctionne à la fois dans les deux sens du système VS2008 - "STD :: System ()" ou "Système ()". Et vous voulez inclure STDLIB.H ou CSTDLIB


1 commentaires

Quelles nouvelles informations que vous répondez donnez à Comparez-les acceptées?