この C# コードを次のように C++に変換しました。
void bubbleSort(int *inputArray, int passStartIndex, int currentIndex,int length)
{
if(passStartIndex == length - 1) return;
if(currentIndex == length - 1) return bubbleSort(inputArray, passStartIndex+1, passStartIndex+1,length);
//compare items at current index and current index + 1 and swap if required
int nextIndex = currentIndex + 1;
if(inputArray[currentIndex]>inputArray[nextIndex])
{
int temp = inputArray[nextIndex];
inputArray[nextIndex] = inputArray[currentIndex];
inputArray[currentIndex] = temp;
}
return bubbleSort(inputArray, passStartIndex, currentIndex + 1,length);
}
しかし、長さ50100の入力配列で実行すると、expcetionが表示されます
System.StackOverflowException は処理されませんでした メッセージ: タイプ 'System.StackOverflowException' の未処理の例外が example.exe で発生しました
私は何を間違っていますか?修正方法は?