Zastanawiam się, czy ktoś wie, jakie ograniczenia dotyczą operatora konwersji/typecast?Czy istnieją jakieś ograniczenia dotyczące typów operatora typograficznego?
Tak więc, na przykład, może mieć następujące podmioty ręczne:
class Test {
operator int() { return 0; };
operator int*() { return nullptr; };
}
Dla zwykłego funkcji, mogę również mieć wskaźnik do typu tablicy. Na przykład.
int (*MyFunc())[4] { return nullptr; };
Jednak nie wiem jak to zrobić to samo dla operatora konwersji (lub jeśli jest to nawet zgodne z prawem). Próbowałem kilka różnych odmian i VS2010 i żaden nie działa. (Takie jak :)
operator int (*())[4] { return nullptr; };
operator int(*)[4]() { return nullptr; };
Nie jestem pewien, czy jest to ograniczenie w VS2010 lub jeśli istnieje ogólny limit typów, które mogą być stosowane w operatora konwersji. Próbowałem szukać standardu online bez powodzenia. Czy ktoś wie? Zanim ktokolwiek zapyta "dlaczego chciałbyś to zrobić", to jest to automatycznie wygenerowany kod. Chociaż nie oczekuję, że otrzymam wskaźnik do wprowadzenia tablicy, chciałbym móc stworzyć kod, jeśli jest legalny w C++.
Dzięki. Tak właśnie odpowiedziałem na moje pytanie. –
Komentarz na dole strony? – GManNickG