int * tab1 [5];但动态地

时间:2018-03-08 11:58:20

标签: c++

我需要c ++的帮助。

int *tab1[5];
int tab2[] = {3, 4, 5};
tab1[0] = tab2;

它有效,但我希望在第一行有一个变量而不是5。 有任何想法吗?提前谢谢你。

2 个答案:

答案 0 :(得分:1)

由于你找到了“错误”的答案,我会告诉你“正确的”:

#include <iostream>
#include <vector>

int main()
{
    std::cout << "How many lines do you want? ";
    unsigned lines;
    if (!(std::cin >> lines))
    {
        std::cout << "Invalid input\n";
        return 1;
    }

    std::vector<std::vector<int>> tab(lines);

    if (lines > 0)
    {
        tab[0] = { 3, 4, 5 };
    }
}

答案 1 :(得分:0)

我找到了答案,

int n = 5;
int **tab1 = new int*[n];
int tab2[] = {3, 4, 5};
tab1[0] = tab2;

感谢您的关注。