2012-11-08 71 views
-2

我在C++上使用聲明列表的STL。我希望對列表中的每個元素都增加n。我試過這段代碼,但它不起作用。任何解決方案謝謝!如何增加std :: for_each?

int n=0; 
std::for_each(vec.begin(), vec.end(), increment); 
std::increment() { 
    n++; 
} 
+7

,想到的唯一解決方案 - http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list –

+5

這看起來大約等同於'大小()' 。我不確定爲什麼你要爲你的函數定義添加'std ::'前綴。 – chris

+0

@chris我認爲你的解決方案將是一個有效的方法。謝謝! – albert

回答

0

這是一個完整的程序。對於矢量的每個元素,增量以元素作爲參數調用。該參數不用於增量。

#include <algorithm> 
#include <iostream> 
#include <ostream> 
#include <vector> 

int n = 0; 
void increment(int) 
{ 
    ++n; 
} 

int main() 
{ 
    // Create vector with 10 elements 
    std::vector<int> v(10); 

    std::for_each(v.begin(), v.end(), increment); 
    std::cout << n << std::endl; 

    return 0; 
} 
相關問題