我有一个复杂的类,想要创建一个二维复数数组。以下是部分代码:
class Complex {
public:
/* construction/destruction */
Complex(double r, double i) { this->r = r; this->i = i; }
Complex() { r=0.0; i=0.0; }
~Complex() { r=0.0; i=0.0; }
/* operations */
Complex operator+(Complex &c) { return Complex( r+c.r, i+c.i ); }
double r, i;
};
int main()
{
const int HEIGHT = 256;
const int WIDTH = 256;
Complex G[HEIGHT][WIDTH];
}
所以,Complex G[HEIGHT][WIDTH] 这一行是导致问题的原因,你有什么想法吗?
G
的栈空间就需要1MB,而这通常已经接近栈空间的极限。 - chrismalloc
- 并且可能创建一个访问函数作为类的一部分,以便保持索引简单。 - Florismalloc
/vector
/. - chris