各位大神好,我想要實作一個函式對vector容器的呼叫,而不用指標。主函式名為vector.cpp,呼叫的函式是一個求和函式,函式名為atsum.cpp,函式頭檔案為ATSUM.h。
下面是主程式
#include<iostream>
#include<vector>
#include "ATSUM.h"
using namespace std;
int main()
{
const int N=100;
vector<double> a(N);
double s=0;
ATSUM Sum;
Sum.atsum(a,s);
cout<<s<<endl;
return 0;
}
ATSUM.h頭檔案內容為
#ifndef CLASSSUM_H
#define CLASSSUM_H
#include<vector>
class ATSUM
{
public:
void atsum(std::vector<double>& a,double s);
};
#endif
函式atsum.cpp為
#include<iostream>
#include<vector>
#include "ATSUM.h"
using namespace std;
void ATSUM::atsum(vector<double>& a,double s)
{
for(int i=0;i!=a.size();i++)
s=s+a[i];
}
編譯之后報錯為
/tmp/ccC8QCeF.o:在函式‘main’中:
vector.cpp:(.text+0xe7):對
‘ATSUM::atsum(std::vector<double, std::allocator<double> >&, double)’
未定義的參考
其中的std::vector<double, std::allocator<double> >在源程式中應該為std::vector<double>& 吧,這個是怎么出現的呢?以及如何來完成這個呼叫呢?請大神解惑。
uj5u.com熱心網友回復:
程式應該沒有什么問題。是不是編譯器編碼什么的有問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/60123.html
標籤:基礎類
上一篇:C++buiider串口通訊
下一篇:用相機對獲取的幀進行實時處理
