我正在使用2017年的视觉工作室,我遇到了一个问题.尝试使用std::gcd它时会给我一个错误error C2039: 'gcd': is not a member of 'std'
这是我的代码:
#include "pch.h"
#include <iostream>
#include <numeric>
int main() {
std::cout << std::gcd(10, 5);
return 1;
}
Run Code Online (Sandbox Code Playgroud) 有什么办法比较bar.foo来foo?
fn foo() {
}
struct Bar {
foo: &'static (dyn Fn()),
}
fn main() {
let bar = Bar { foo: &foo };
if bar.foo == foo {
println!("equal");
}
}
Run Code Online (Sandbox Code Playgroud)
(游乐场)
这给出了错误: binary operation `==` cannot be applied to type `&dyn std::ops::Fn()
这个问题不适用于我的情况。它建议尝试检查返回值或将函数转换为usize. foo不返回任何内容,bar.foo也不能强制转换为usize.