Witam!
Błąd kompilacji pojawił się w moim kodzie po aktualizacji Update 3 do Visual Studio 2013 Express for Desktop. Problem ten jest znany, a sugerowane rozwiązanie przez Microsoft znajduje się tutaj. Chodzi o listę inicjalizującą konstruktora, nie wiem jak rozwiązać ten problem na poniższym przykładzie.
main.cpp
#include <iostream>
#include <string>
#include <conio.h>
#include "header.h"
using namespace std;
int main()
{
Example_2 Example_A;
Example_A.View_Content();
Example_2 Example_B{ };
Example_B.View_Content();
Example_2 Example_C{ 2, 4, "Example" };
Example_C.View_Content();
_getch();
return 0;
}
header.h
#pragma once
using namespace std;
class Example_2
{
private:
int x;
int y;
string z;
public:
Example_2()
: x{}, y{}, z{}
{ }
Example_2(int _x, int _y, string _z)
: x{ _x }, y{ _y }, z{ _z }
{ } // COMPILER ERROR C2797
void View_Content()
{
cout << "x = " << this->x << endl;
cout << "y = " << this->y << endl;
cout << "z = " << this->z << endl;
cout << endl;
}
};
Będę wdzięczny za odpowiedź.
Pozdrawiam!