mam do czynienia z naprawdę dziwny komunikat o błędzie w Visual Studio 2015. Poniżej okrojona kodu:„Domyślny konstruktor nie można odwoływać się” w Visual Studio 2015
struct A
{
A(int val = 0)
:
x(val)
{}
int x = 0;
};
struct B: A
{
static int y;
};
int B::y = 1;
struct C: B
{
};
int main()
{
C c;
return 0;
}
kompiluje bez problemu na Clang. Jednakże Visual Studio 2015 IntelliSense daje następujący komunikat o błędzie:
the default constructor of "C" cannot be referenced -- it is a deleted function
jestem brakuje czegoś w moim kodu, czy jest to błąd w Visual Studio?
UPDATE
oparciu o komentarzach i odpowiedziach tu otworzyły bug report na Microsoft Connect.
Kompiluje jednak, prawda?Nie martwiłbym się o błędy IntelliSense. Czasami się gubi i błędnie zgłasza problemy. –
To jest błąd w (Intellisense in) Visual Studio. Wszystkie błędy Visual Studio są prawdziwe. AFAIK. Intellisense nie używa tej samej maszyny analitycznej co kompilator. Może się to jednak zmienić w przyszłości. –
Czuję, że widzimy kilka błędów Intellisense na tydzień. –