是否可以仅允许特定的<script>
$(document).ready(function () {
$("#radio1").on("click", function () {
var value1 = $("#value1").value;
if ($("#radio1").attr("checked") == 'checked') {
value1.val("true");
}
else {
value1.val("false");
}
});
});
</script>
作为函数参数?
typedef
如果不能简单地使用typedef int foo;
typedef int goo;
void f(goo g); //I don't want to accept anything `foo` as an argument
,我可以使用什么语言结构来实现这种效果?
答案 0 :(得分:5)
不,它们不是不同的类型,只是同一类型的不同名称。
如果您希望它们是不同的类型,您可以将它们定义为结构:
struct foo
{
explicit foo(int v) : value(v) {}
int value;
};
struct goo
{
explicit goo(int v) : value(v) {}
int value;
};
void f(goo g);
// ...
foo a(23);
goo b(34);
f(b); // good
f(a); // bad
f(goo(45)); // good
f(foo(56)); // bad
或者你可以模板化:
template<typename T, typename tag>
struct newtype
{
explicit newtype(const T& v) : value(v) {}
T value;
};
struct foo_d {};
struct goo_d {};
typedef newtype<int, foo_d> foo;
typedef newtype<int, goo_d> goo;
答案 1 :(得分:0)
一个参数有一个类型,该函数允许声明的类型的任何参数,在你的情况下是int,尝试使用classes / structs