Что будет выведено на экран?

#include <iostream> 
#include <stdio.h> 
 
class A 
{ 
    unsigned char a; 
    public: 
    A():a(0){} 
    A& func() 
    { 
        ++a; 
        return *this; 
    } 
    A& func(int) 
    { 
        --a; 
        return *this; 
    } 
    unsigned char get_func() const 
    { 
        return a; 
    } 
}; 
 
int main() 
{ 
    A object; 
    object.func(1).func(1).func().func().func(1); 
    std::cout << static_cast<int>(object.get_func()); 
    return 0; 
}
1
255
-1
Ошибка компиляции