bridges.cpp: In instantiation of 'rollback_array<T>::rollback_array(int) [with T = int]':
bridges.cpp:87:43: required from here
bridges.cpp:59:6: warning: 'rollback_array<int>::n' will be initialized after [-Wreorder]
int n;
^
bridges.cpp:58:12: warning: 'std::vector<int> rollback_array<int>::arr' [-Wreorder]
vector<T> arr;
^~~
bridges.cpp:61:2: warning: when initialized here [-Wreorder]
rollback_array(int n) : n(n), arr(n){};
^~~~~~~~~~~~~~
bridges.cpp: In function 'int main()':
bridges.cpp:5:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
#define sd(x) scanf("%d", &(x))
~~~~~^~~~~~~~~~~~
bridges.cpp:140:2: note: in expansion of macro 'sd'
sd(n); sd(m);
^~
bridges.cpp:5:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
#define sd(x) scanf("%d", &(x))
~~~~~^~~~~~~~~~~~
bridges.cpp:140:9: note: in expansion of macro 'sd'
sd(n); sd(m);
^~
bridges.cpp:5:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
#define sd(x) scanf("%d", &(x))
~~~~~^~~~~~~~~~~~
bridges.cpp:143:3: note: in expansion of macro 'sd'
sd(a[i]); sd(b[i]); sd(w[i]);
^~
bridges.cpp:5:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
#define sd(x) scanf("%d", &(x))
~~~~~^~~~~~~~~~~~
bridges.cpp:143:13: note: in expansion of macro 'sd'
sd(a[i]); sd(b[i]); sd(w[i]);
^~
bridges.cpp:5:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
#define sd(x) scanf("%d", &(x))
~~~~~^~~~~~~~~~~~
bridges.cpp:143:23: note: in expansion of macro 'sd'
sd(a[i]); sd(b[i]); sd(w[i]);
^~
bridges.cpp:5:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
#define sd(x) scanf("%d", &(x))
~~~~~^~~~~~~~~~~~
bridges.cpp:148:2: note: in expansion of macro 'sd'
sd(q);
^~
bridges.cpp:5:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
#define sd(x) scanf("%d", &(x))
~~~~~^~~~~~~~~~~~
bridges.cpp:150:3: note: in expansion of macro 'sd'
sd(type[i]); sd(s[i]); sd(w[i + m]);
^~
bridges.cpp:5:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
#define sd(x) scanf("%d", &(x))
~~~~~^~~~~~~~~~~~
bridges.cpp:150:16: note: in expansion of macro 'sd'
sd(type[i]); sd(s[i]); sd(w[i + m]);
^~
bridges.cpp:5:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
#define sd(x) scanf("%d", &(x))
~~~~~^~~~~~~~~~~~
bridges.cpp:150:26: note: in expansion of macro 'sd'
sd(type[i]); sd(s[i]); sd(w[i + m]);
^~