Народ, выручайте - я в ступоре. Захотелось мне создать безымянный временный объект типа t, конструктор которого принимает строку, но не тут-то было!
#include <iostream>
struct t {
t(const std::string & s) {
std::cout << "t(): " << s << "\n";
}
};
int main() {
std::string s("string123");
t(s);
}
In function 'int main()':
11:6: error: conflicting declaration 't s'
10:15: note: previous declaration as 'std::string s'
Неужто парсер подавился на такой банальщине?