Ik heb een probleem met de volgende code. De twee statements in main zou ik liefst zo willen houden, maar zonder de dubbelzinnigheid natuurlijk.
Een oplossing zou zijn het toevoegen van open(const char*), maar is er geen oplossing zonder extra functies?
Een oplossing zou zijn het toevoegen van open(const char*), maar is er geen oplossing zonder extra functies?
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| #include "stdafx.h" #include <string> #include <windows.h> using namespace std; class Cwin_handle { public: Cwin_handle(HANDLE h); }; class Ccc_file { public: int open(const Cwin_handle& h); int open(const string& name); }; int main() { Cwin_handle h = CreateFile(0, 0, 0, 0, 0, 0, 0); Ccc_file().open(""); return 0; } jwt.cpp(23) : error C2668: 'open' : ambiguous call to overloaded function |
[ Voor 10% gewijzigd door Olaf van der Spek op 15-03-2003 19:41 ]