template<typename T>class MyTemplateClass {public: void doSomething() { // 模板类的实现 if (someCondition) { // 调用 Lambda 表达式 onTriggered(); } } // 定义 Lambda 表达式 std::function<void()> onTriggered = { // 输出触发内容 qDebug() << "MyTemplateClass triggered!"; };};请加上传递int和QString两个参数
时间: 2024-02-07 19:02:12 浏览: 65
自定义的Troop<T>泛型类( c++, java和c#)的实现代码
可以将Lambda表达式修改为以下形式,接受一个int和一个QString参数:
```
template<typename T>
class MyTemplateClass {
public:
void doSomething() { // 模板类的实现
if (someCondition) {
// 调用 Lambda 表达式
onTriggered(42, "Hello World!");
}
}
// 定义 Lambda 表达式
std::function<void(int, QString)> onTriggered = { // 输出触发内容
[](int i, QString str) {
qDebug() << "MyTemplateClass triggered with" << i << "and" << str << "!";
}
};
};
```
阅读全文