gpt4 book ai didi

c++ - 函数原型(prototype)丢失,即使它存在

转载 作者:行者123 更新时间:2023-11-28 00:45:44 25 4
gpt4 key购买 nike

我对 C++ 不是很有经验,所以如果我犯了一些(很多)愚蠢的错误,我提前道歉。

任务说明如下:在 AVector 类中,声明一个 double 类型的动态数组来存储元组欧几里德 vector ,并声明一个整数成员来存储 vector 的维度。我们应该让用户输入大小以及 v1 和 v2 的值。然后我们应该使用 v1 和 v2 以下列格式生成输出。

v3 = v1 + v2 = (v1[0]+v2[0]  v1[1]+v2[1] .... v1[n]+v2[n])
v3 = v1 - v2 = (v1[0]-v2[0] v1[1]-v2[1] .... v1[n]-v2[n])
v3 = v1 * v2 = (v1[0]*v2[0] + v1[1]*v2[1] + .... + v1[n]*v2[n])

如果 v1 和 v2 中的元素数量不同或其中一个为空,我们应该产生一条错误消息。

例子:

如果v1的动态数组有3个元素:1.0 2.5 3.0

如果v2的动态数组有3个元素:2.0 2.0 1.0

那么输出是:

v3 = v1 + v2 = (3.0   4.5   4.0)
v3 = v1 - v2 = (-1.0 0.5 2.0)
v3 = v1 * v2 = 10

现在,我的问题是我不断收到“错误:函数“processVector”必须有一个原型(prototype)。”即使 processVector 的函数原型(prototype)确实存在。

目前我的情况如下:

    #include<iostream> 

class AVector
{
private:
int size;
double* array;
public:
AVector()
{
array = NULL;
}

AVector(int)
{
double input;
size = a;
array = new double[size];

int counter = 0;

while(counter < size)
{
cin >> input;
array[counter] = input;
counter++;
}
}

~AVector()
{
delete[] array;
}

void printArray(int a)
{
cout << "Euclidean vector v" << a << " = (";
for(int i = 0; i < size; i++)
{
cout << array[i] << ' ';
}
cout << ')' << endl;
}

void processVector(AVector a, AVector b)
{
if(a.size != b.size)
{
cout << "Two Euclidean vector should be in the same Euclidean space" << endl;
}
else
{
//...
}
}
};

主要.cpp

#include<iostream>
#include "AVector2.h"
using namespace std;

int main()
{
int dimension;

cout << "Input dimension and tuples for a Euclidean vector v1: ";
cin >> dimension;
AVector v1 = AVector(dimension);
v1.printArray(1);

cout << endl;

cout << "Input dimension and tuples for a Euclidean vector v2: ";
cin >> dimension;
AVector v2 = AVector(dimension);
v2.printArray(2);

cout << endl;

processVector(v1, v2);
return 0;
}

如果有人能指出我做错了什么,我将不胜感激。提前谢谢你。

最佳答案

processVectorAVector 的非静态成员函数。这意味着它必须在 AVector 对象上调用,例如 v1.processVector(v2, v3);。也许您希望它成为一个 static 成员函数,这样您就可以这样调用它:

AVector::processVector(v1, v2);

关于c++ - 函数原型(prototype)丢失,即使它存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16316294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com