[C++] Erreurs de compilation !
Résolu/Fermé
A voir également:
- [C++] Erreurs de compilation !
- Erreur de téléchargement - 0x80070643 - Accueil - Windows
- Play store erreur de serveur ✓ - Forum Free mobile
- Erreur de segmentation c - Astuces et Solutions
- Erreur lors de l'enregistrement du contact - Forum Xiaomi
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
6 réponses
Bonjour
Dans quel environnement travailles-tu ? Comment essayes-tu de l'exécuter ?
Dans quel environnement travailles-tu ? Comment essayes-tu de l'exécuter ?
Resalut,
Je suis sous Microsoft Visual Studio 2005 (.Net)
Je fais ctrl+F7 pour compiler et ctrl+F5 pour exécuter.
Le champ de mort comme nous l'appelons est le suivant :
1>------ Build started: Project: ex2tp3, Configuration: Debug Win32 ------
1>Compiling...
1>main.cpp
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(10) : error C2652: 'C' : illegal copy constructor: first parameter must not be a 'C'
1> c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(5) : see declaration of 'C'
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(25) : error C2440: 'initializing' : cannot convert from 'int *' to 'int'
1> There is no context in which this conversion is possible
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(34) : error C2819: type 'C' does not have an overloaded member 'operator ->'
1> c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(5) : see declaration of 'C'
1> did you intend to use '.' instead?
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(34) : error C2232: '->C::getv' : left operand has 'class' type, use '.'
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(38) : error C2512: 'C' : no appropriate default constructor available
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(41) : error C2664: 'f' : cannot convert parameter 1 from 'C' to 'C'
1> Cannot copy construct class 'C' due to ambiguous copy constructors or no available copy constructor
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(43) : error C2664: 'f' : cannot convert parameter 1 from 'C *' to 'C'
1> No constructor could take the source type, or constructor overload resolution was ambiguous
1>Build log was saved at "file://c:\Documents and Settings\khaoula\Mes documents\Visual Studio 2005\Projects\ex2tp3\ex2tp3\Debug\BuildLog.htm"
1>ex2tp3 - 7 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Je suis sous Microsoft Visual Studio 2005 (.Net)
Je fais ctrl+F7 pour compiler et ctrl+F5 pour exécuter.
Le champ de mort comme nous l'appelons est le suivant :
1>------ Build started: Project: ex2tp3, Configuration: Debug Win32 ------
1>Compiling...
1>main.cpp
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(10) : error C2652: 'C' : illegal copy constructor: first parameter must not be a 'C'
1> c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(5) : see declaration of 'C'
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(25) : error C2440: 'initializing' : cannot convert from 'int *' to 'int'
1> There is no context in which this conversion is possible
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(34) : error C2819: type 'C' does not have an overloaded member 'operator ->'
1> c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(5) : see declaration of 'C'
1> did you intend to use '.' instead?
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(34) : error C2232: '->C::getv' : left operand has 'class' type, use '.'
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(38) : error C2512: 'C' : no appropriate default constructor available
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(41) : error C2664: 'f' : cannot convert parameter 1 from 'C' to 'C'
1> Cannot copy construct class 'C' due to ambiguous copy constructors or no available copy constructor
1>c:\documents and settings\khaoula\mes documents\visual studio 2005\projects\ex2tp3\ex2tp3\main.cpp(43) : error C2664: 'f' : cannot convert parameter 1 from 'C *' to 'C'
1> No constructor could take the source type, or constructor overload resolution was ambiguous
1>Build log was saved at "file://c:\Documents and Settings\khaoula\Mes documents\Visual Studio 2005\Projects\ex2tp3\ex2tp3\Debug\BuildLog.htm"
1>ex2tp3 - 7 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Re-Bonjour
Ton titre parle d'erreur de compilation, pas d'éxécution.
Si ton problème est à la compilation, quel(s) message(s) d'erreur obtiens-tu ?
Ton titre parle d'erreur de compilation, pas d'éxécution.
Si ton problème est à la compilation, quel(s) message(s) d'erreur obtiens-tu ?
mauvaise déclaration de constructeur par recopie + joyeux mélimélo de pointeurs et de variables pointées...
// vcconsole.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include<iostream> using namespace std; class C { int *v; public: C(int x); ~C(); C(const C& c); int getv(); }; C::C(int x) { v=new int(x); cout<<"objet cree..."<<endl; } C::~C() { delete v; cout<<"objet detruit..."<<endl; } C::C(const C& c) { v=new int( *c.v ); cout<<"objet cree par recopie..."<<endl; } int C::getv() { return *v; } void f(C c) { cout<<"la valeur de V = "<<c.getv()<<endl; } void main() { C c1(0), c2(1), c3(2), c4(3); C *p; cout<<c2.getv()<<endl; f(c3); p=new C(4); f(*p); cout<<p->getv(); delete p; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
17 déc. 2007 à 12:19
17 déc. 2007 à 12:19
J'ai horreur du constructeur par recopie !! beurk :(
Merci, mais apparemment mon IDE ne comprend pas le : #include "stdafx.h"
Quand je compile, il me génére cette erreur :
fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory.
C'est la première fois que je vois de tel préprocesseur :)
Merci, mais apparemment mon IDE ne comprend pas le : #include "stdafx.h"
Quand je compile, il me génére cette erreur :
fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory.
C'est la première fois que je vois de tel préprocesseur :)
17 déc. 2007 à 11:54