#include <iostream>
#include <string>
struct obj
{
char name[20];
int age;
std::string addr;
};
int main(int argc, char* argv[])
{
obj person {char(argv[1]), atoi(argv[2]), char(argv[3]) };
std::cout << person.age << " " << person.name << " " << person.addr << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKc3RydWN0IG9iagp7CgljaGFyIG5hbWVbMjBdOwoJaW50IGFnZTsKCXN0ZDo6c3RyaW5nIGFkZHI7Cgp9OwoKCgppbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQp7CglvYmogcGVyc29uIHtjaGFyKGFyZ3ZbMV0pLCBhdG9pKGFyZ3ZbMl0pLCBjaGFyKGFyZ3ZbM10pIH07CglzdGQ6OmNvdXQgPDwgcGVyc29uLmFnZSA8PCAiICIgPDwgcGVyc29uLm5hbWUgPDwgIiAiIDw8IHBlcnNvbi5hZGRyIDw8IHN0ZDo6ZW5kbDsKICAgIHJldHVybiAwOwp9
prog.cpp: In function ‘int main(int, char**)’:
prog.cpp:16:26: error: cast from ‘char*’ to ‘char’ loses precision [-fpermissive]
obj person {char(argv[1]), atoi(argv[2]), char(argv[3]) };
^
prog.cpp:16:56: error: cast from ‘char*’ to ‘char’ loses precision [-fpermissive]
obj person {char(argv[1]), atoi(argv[2]), char(argv[3]) };
^
prog.cpp:16:33: warning: narrowing conversion of ‘atoi(((const char*)(*(argv + 16u))))’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
obj person {char(argv[1]), atoi(argv[2]), char(argv[3]) };
~~~~^~~~~~~~~