1
私はこの機能を非常に新しくしています。私はラムダ式をC++で読んで、単純なプログラムで実装しようとしました。なぜC++のラムダ式が動作しないのですか
int main()
{
std::string name;
int a = 5;
std::cout << "What is your name? ";
getline (std::cin, name);
for([&](){a = 7;};a > 0; a--)
{
std::cout << "Hello, " << name << "!\n";
}
}
が、その私はそれが... 私の前提になると思ったように動作していない:[&](){a = 7;}
これは5から7への変数の値を変更しますが、そのない... は、コード内で何か問題があるの?あるいは私の前提は間違っていますか?
[lambda '1' all time]の複製が可能です。(http://stackoverflow.com/questions/28273891/lambda-returns-1-all-time) –
ラムダを作成して投げ捨てました。実行するには、()演算子を呼び出す必要があります。 –
@RaymondChenはそれを得た。それは問題を解決した..ありがとう.. :) –