Bonjour,
J'ai écrit la classe simplifiée suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #ifndef CESAR_H #define CESAR_H #include <iostream> #include <fstream> #include <string> #include <vector> class Cesar { public: Cesar(); Cesar(const std::string); virtual ~Cesar(); protected: private: int m_key; std::ifstream m_file; }; #endif // CESAR_HEt la main suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #include "Cesar.h" Cesar::Cesar() { } Cesar::Cesar(std::string fichier): m_key(0) { std::cout << fichier << std::endl; } Cesar::~Cesar() { }
Lorsque je compile ça avec mingw32++ dans code::blocks, j'ai l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include <iostream> #include <string> #include "Cesar.h" int main() { Cesar a(Cesar("chemin vers un fichier.txt")); return 0; }
L'erreur disparait si je commente la déclaration du ifstream (ligne 18 dans Cesar.h)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 ||=== Build: Debug in algorithme_de_Cesar (compiler: GNU GCC Compiler) ===| main.cpp||In function 'int main()':| main.cpp|7|error: use of deleted function 'Cesar::Cesar(const Cesar&)'| include\Cesar.h|9|note: 'Cesar::Cesar(const Cesar&)' is implicitly deleted because the default definition would be ill-formed:| include\Cesar.h|9|error: use of deleted function 'std::basic_ifstream<char>::basic_ifstream(const std::basic_ifstream<char>&)'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\fstream|420|note: 'std::basic_ifstream<char>::basic_ifstream(const std::basic_ifstream<char>&)' is implicitly deleted because the default definition would be ill-formed:| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\fstream|420|error: use of deleted function 'std::basic_istream<char>::basic_istream(const std::basic_istream<char>&)'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\istream|56|note: 'std::basic_istream<char>::basic_istream(const std::basic_istream<char>&)' is implicitly deleted because the default definition would be ill-formed:| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\istream|56|error: use of deleted function 'std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\bits\basic_ios.h|64|note: 'std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)' is implicitly deleted because the default definition would be ill-formed:| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\bits\ios_base.h|788|error: 'std::ios_base::ios_base(const std::ios_base&)' is private| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\bits\basic_ios.h|64|error: within this context| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\istream|56|error: use of deleted function 'std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\fstream|420|error: use of deleted function 'std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\fstream|420|error: use of deleted function 'std::basic_filebuf<char>::basic_filebuf(const std::basic_filebuf<char>&)'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\fstream|69|note: 'std::basic_filebuf<char>::basic_filebuf(const std::basic_filebuf<char>&)' is implicitly deleted because the default definition would be ill-formed:| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\streambuf|800|error: 'std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const __streambuf_type&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_streambuf<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]' is private| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\fstream|69|error: within this context| ||=== Build failed: 11 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Une idée du pourquoi svp?![]()
Partager