/in/foo.cc: In constructor 'point::point(const int&, const int&, const int&, const bool&)':
/in/foo.cc:8:12: warning: 'point::step' will be initialized after [-Wreorder]
int x, y, step;
^~~~
/in/foo.cc:7:7: warning: 'bool point::flag' [-Wreorder]
bool flag;
^~~~
/in/foo.cc:9:2: warning: when initialized here [-Wreorder]
point(const int &x=0, const int &y=0, const int &step=0, const bool &flag=0) :x(x), y(y), step(step), flag(flag) {}
^~~~~
/in/foo.cc: In function 'void bfs()':
/in/foo.cc:33:77: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
if (ii < 0 || ii >= m || jj < 0 || jj >= n || map[ii][jj] == '#' || !flag&&map[ii][jj] == 'T'|| visit[flag][ii][jj])continue;
~~~~~^~~~~~~~~~~~~~~~~~~~