Hi guys, hope you are doing well. I wanted to create my debug template but I can't get around this error?
code
error
Can somebody please help me? Thanks in advance.
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 156 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Hi guys, hope you are doing well. I wanted to create my debug template but I can't get around this error?
template<typename T>
ostream& operator<<(ostream &out,vector<T> &v){
for(const auto &ele:v){
out<<ele<<" ";
}
return out;
}
template<typename T>
ostream& operator<<(ostream &out,T x){
out<<x<<" ";
return out;
}
error: ambiguous overload for 'operator<<' (operand types are 'std::basic_ostream' and 'const char [2]')
Can somebody please help me? Thanks in advance.
Name |
---|
Just erase the second overloading
Is this the real issue you are having?
If yes, then it doesn't make any sense to have the second function, so erasing as suggested is an option.
If no, then describe it clearly instead of converting the real problem to something that does not make any sense.
Actually, the problem is not connected to ostream in any sense, it's connected to templates.
Compiler does not know what function to call when
function(0)
is to be executed.