Wann fungiert der Kommaoperator nicht als Kommaoperator?
Wenn Sie diesen Code sehen,
class A{
public:
A(int a):var(a){}
int var;
};
int f(A obj) {
return obj.var;
}
int main() {
//std::cout<<f(23); // output: 23
std::cout<<f(23, 23); // error: too many arguments to function 'int f(A)'
return 0;
}
f(23, 23)
wird nicht kompiliert, da das Komma hier als Trennzeichen und nicht als Kommaoperator fungiert.
Wo macht alles ein Kommanich Arbeit als Kommaoperator? Oder umgekehrt