在我的程序中,我有一個數組「vector< vector<double> > convos
」,其中有3行和任意數量的列Nconv
。每一列表示2個人之間從一組具有尺寸N
可能的談話,並且在每列中的第二&第三細胞包含多個標記的特定個體。使用C++ void函數操作矢量數組
所以我寫的一小段代碼的循環這個數組,並用獨特的對整數例如填寫每一列。
convos [I] [2] = 1 2 3 2 3
convos [I] [1] = 0 0 0 1 1 ....等。
我爲作品編寫的代碼,但太亂了,無法在我的int main()
中省略,而且無論如何也可以使用外部函數。
我的問題是,當我調用該函數insertpairs
在我的主要代碼,什麼都不會發生......任何人都可以指出的是,我在這裏失蹤了一些東西明顯?
#include <iostream>
#include <vector>
using namespace std;
using std::vector;
void insertpairs(vector<vector<double> > convos, int Nconv, int N)
{
int a(0), b, c(0);
while (c < Nconv){
b = a+1;
while (b < N){
convos[c][1] = a;
convos[c][2] = b;
b++;
c++;
}
a++;
}
}
int main(){
int N(4), Nconv;
vector<vector<double> > convos;
Nconv = 0;
for (int i=1; i<=N; i++){
Nconv = Nconv + N-i;
} // Calculates # of possible convos based on N.
insertpairs(convos, Nconv, N);
// breakpoint here.
..... // code continues, but rest isn't relevant.
}
如果我把一個斷點void函數裏面我可以看到,它工作正常,但是當它完成了陣列convos
中的所有值只是簡單地返回到零。爲什麼是這樣?
尼斯一個非常感謝! – fred
我已經添加了另一種方法,以防您發現它有用。 – user2079303