以下代码在VC2013中运行报错,但在VC2017中运行良好,应该是VC2013的CArray类有BUG。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <vector> #include <string> using namespace std; void CMFCApplication2Dlg::OnBnClickedButton1() { struct Tst01 { vector<string> t01; }; Tst01 tst01; tst01.t01.push_back("hi"); CArray<Tst01, Tst01> arry; for (int i = 0; i < 10; i++) { arry.Add(tst01); } for (int i = 0; i < 10; i++) { Tst01 &node = arry.GetAt(i); Tst01 nNode(node); // VC2013中此处报错 printf("big is %s.\n", nNode.t01[0].c_str()); } } |