为什么这会触发断点?

Why is this triggering a breakpoint?

我已广泛查找此代码中的问题,但我似乎无法弄清楚我犯了什么悲剧性错误以及它触发断点的原因。 (输入3、4次后触发,不知道为什么一开始不触发,不知道是什么原因)

#include <conio.h> // For function getch()
#include <cstdlib>  // For several general-purpose functions
#include <fstream>  // For file handling
#include <iomanip>  // For formatted output
#include <iostream>  // For cin, cout, and system
#include <string>  // For string data type
using namespace std;  // So "std::cout" may be abbreviated to "cout", for   example.

string convertDecToBin(int dec)
{
    int *arrayHex, arraySize = 0;
    arrayHex = new int[];
    string s = " ";
    int r = dec;
    for (int i = 0; r != 0; i++)
    {
        arrayHex[i] = r % 2;
        r = r / 2;
        arraySize++;
    }

    for (int j = 0; j < arraySize; j++)
    {
        s = s + to_string(arrayHex[arraySize - 1 - j]);
    }
    delete[] arrayHex;
    return s;
}


string convertDecToOct(int dec)
{
    int *arrayHex, arraySize = 0;
    arrayHex = new int[];
    string s = " ";
    int r = dec;
    for (int i = 0; r != 0; i++)
    {
        arrayHex[i] = r % 8;
        r = r / 8;
        arraySize++;
    }

    for (int j = 0; j < arraySize; j++)
    {
        s = s + to_string(arrayHex[arraySize - 1 - j]);
    }
    delete[] arrayHex;
    return s;
}


int main()
{
    int input = 0;
    while (input != -1)
    {
        cout << "\nEnter a decimal number (-1 to exit loop): ";
        cin >> input;
        if (input != -1)
        {
            cout << "Your decimal number in binary expansion: " << convertDecToBin(input);
            cout << "\nYour decimal number in octal ecpression: " << convertDecToOct(input);
        }

    }
    cout << "\n\nPress any key to exit. . .";
    _getch();
    return 0;
}

arrayHex = new int[] 是您的问题 - C\C++ 不支持动态调整数组大小。您需要指定要分配的数组的大小,否则会导致内存块溢出。