texttransformer.jpg

This article can be obsolete: Actual documentation online

Nested functions


There aren't nested functions in C++. The automatic translation of nested Delphi functions replaces the inner functions by new member functions. The parameters and the declared variables of the outer function are passed to these new functions.


function TNested.Test(iOuterParam, 
                      iTwiceParam : Integer): Integer;
var
 iFunctionVar : Integer;

 procedure NestedTest(iInnerParam, iTwiceParam : Integer);
 begin
 result := iFunctionVar + 
           iClassVar + 
           iOuterParam + 
           iInnerParam + 
           iTwiceParam;
 end;

begin
 iClassVar := 1;
 iFunctionVar := 2;
 NestedTest(3, 4);
 result := result + iTwiceParam;
end;
->

void __fastcall TNested::NestedTest ( int iInnerParam, 
                                      int iTwiceParam, 
                                      int& iOuterParam, 
                                      int& result, 
                                      int& iFunctionVar )
{
  result = iFunctionVar + 
           iClassVar + 
           iOuterParam + 
           iInnerParam + 
           iTwiceParam;
}

int __fastcall TNested::Test ( int iOuterParam, 
                               int iTwiceParam )
{
  int result;
  int iFunctionVar;
  iClassVar = 1;
  iFunctionVar = 2;
  NestedTest( 3, 4, iOuterParam, result, iFunctionVar );
  result = result + iTwiceParam;
  return result;
}

   deutsch Deutsch

 

 
Latest News
10/28/24
Delphi2Cpp 2.5: Symbol names matching declaration case [more...]

08/26/24
Delphi2Cpp 2.4: Updated to RAD Studio 12.1 Athens [more...]



"Thanks for your great work, really appreciate the work you have done on zlib and compiling ... test case."


Mattewada, Udayabhaskar
Nokia India 02/01/2021




[from case study...]

"A masterpiece -- Delphi2Cpp has exceeded all my expectations by far."


Tony Hürlimann
virtual-optima 08/20/2011



"First off, I have to say WOW! Delphi2Cpp is doing a *fantastic* job!"


Daniel Flower
linkrealms 01/15/2011


 
This website is generated from plain text with [Minimal Website ]

Minimal Website
Minimal Website is made with TextTransformer

TextTransformer
TextTransformer is made with Borland CBuilder

  borland