如何根据此示例访问指针向量?

时间:2018-03-22 10:04:54

标签: c++

有几个类似的问题,但不幸的是,我找不到答案..

我正在尝试根据下面的示例访问信息,但我似乎无法获得我期望的值。获取信息的正确方法是什么?这是一个简化的例子:

#define T 8

using namespace std;

int main() {
    std::vector<float _Complex *> in;

    in.resize(T);

    for (int i = 0; i < T; i++)
    {
        in[i] = new float _Complex[64];

        for (int j = 0; j < 64; j++)
        {
            in[i][j] = 555;
            cout << in[i][j] << endl;
        }
    }

    return 0;
}

1 个答案:

答案 0 :(得分:0)

你错了: cout&lt;&lt; float _Complex

解决方案:如果您想使用特定类型,可以执行type alias

    #include <iostream>
#include <vector>
#include <complex.h>

#define T 2

using namespace std;
using Complex = float _Complex; // C++11

int main() {
    std::vector<Complex *> in;

    in.resize(T);

    for (int i = 0; i < T; i++)
    {
        in[i] = new Complex[64];

        for (int j = 0; j < 64; j++)
        {
            in[i][j] = i*j;
            cout << creal(in[i][j]) << " + " << cimag(in[i][j]) << "i" << endl;

        }
    }

    return 0;
}