Ошибка LNK 2001 неразрешенный внешний символ int b

Подскажите пожалуйста, как исправить эту ошибку ( LNK 2001 неразрешенный внешний символ int b)

#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ofstream file2("output.txt");
int c = 0;
//vector <int> b;
int b[];

void check_svyazn(int v, vector<vector<int>> arr, int d) {
    b[v] = 1;
    c++;
    for (int i = 0; i < arr.size(); i++)
        if (arr[v][i] == 1 && b[i] == 0) {
            check_svyazn(i, arr, d);
        }
}

int main()
{
    ifstream file("input.txt");
    int n;

    file >> n;
    int m = n;
    vector <vector<int>> arr(n);
    while (!file.eof() && m > 0) {
        for (int i = 0; i < n; i++)
        {
            int x;
            file >> x;
            arr[i].push_back(x);
        }
        m--;
    }
    file.close();
    b[n];
    check_svyazn(0, arr, n);
    if (c == n)
        file2 << "YES";
    else
        file2 << "NO";
    file2.close();
}

Ответы (1 шт):

Автор решения: HolyBlackCat

Странно, что MSVC вообще пропускает int x[] и выдает ошибку линковки, а не компиляции. Clang и GCC ругаются.

Размер массива должен быть известен при его создании. Либо напишите в скобках число (вряд ли здесь подходит), либо возьмите вместо массива вектор.

→ Ссылка