Re[2]: Почему нельзя писать void ctor();
От: Максим Рогожин Россия  
Дата: 21.04.17 08:59
Оценка:
Здравствуйте, Videoman, Вы писали:

V>Т.е. вот так написать можно:

V>
V>void FuncA();
V>void FuncB() 
V>{
V>return FuncA();
V>}
V>

V>а вот так нельзя:
V>
V>class A
V>{
V>//...
V>};
V>void FuncB()
V>{
V>return A();
V>}
V>


Это понятно. Но я думал, что void как раз и означает что функция не возвращает СОВСЕМ НИКАКОГО значения. Это не так? Раз это не так, то отличается ли организация вызова конструктора от вызова обычных функций, например таких:

int f(int x) { return x*x; }
void g() { return; }


Я имею ввиду является ли трансляция C++ вызова конструктора в ассемблерный код каким-то специальным частным случаем, который обрабатывается способом отличным от способа, которым транслируются вышеприведенные функции int f(int) и void g(), например?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.