1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <string> using std::string; class T { string s; T(const T &obj):s(obj.s){} public: T(const string &str):s(str){} }; int main() { T a =("Copy Initialization"); //Case: 1 // T b = T("Copy Initialization"); //Case: 2 } |
I2luY2x1ZGUgPHN0cmluZz4KdXNpbmcgc3RkOjpzdHJpbmc7CgpjbGFzcyBUCnsKICAgIHN0cmluZyBzOwogICAgVChjb25zdCBUICZvYmopOnMob2JqLnMpe30KcHVibGljOgogICBUKGNvbnN0IHN0cmluZyAmc3RyKTpzKHN0cil7fQp9OwoKaW50IG1haW4oKQp7CiAgICBUIGEgPSgiQ29weSBJbml0aWFsaXphdGlvbiIpOyAgICAgLy9DYXNlOiAxCgogICAvLyBUIGIgPSBUKCJDb3B5IEluaXRpYWxpemF0aW9uIik7ICAgIC8vQ2FzZTogMgp9
prog.cpp: In function 'int main()': prog.cpp:14:32: error: conversion from 'const char [20]' to non-scalar type 'T' requested
-
result: Compilation error (maybe you wish to see an example for C++11)


