假设我得到了一个结构,我需要将它的所有属性分配给一个特定的地址。下面的代码给了我一个条件错误,但我不是要评估它。
struct header block_o_data;
block_o_data.a = 1;
block_o_data.b = 2;
void* startingAddress = sbrk(0);
&block_o_data = *address;
请让我知道我做错了什么。
答案 0 :(得分:3)
在sys.setcheckinterval
的作业中,您将获取其地址并尝试为其指定值。变量的地址不是左值,这意味着表达式不能出现在赋值的左侧。
您需要向结构声明指针,然后为其指定值实际存在的地址:
sys.getcheckinterval
答案 1 :(得分:1)
假设您有这样的结构:
private static void ValueChangedHandler(AsyncLocalValueChangedArgs<IRequestContext> asyncLocalValueChangedArgs)
{
var previousValue = asyncLocalValueChangedArgs.PreviousValue;
var currentValue = asyncLocalValueChangedArgs.CurrentValue;
var contextChanged = asyncLocalValueChangedArgs.ThreadContextChanged;
if (contextChanged && currentValue == null && previousValue != null)
{
_requestContext.Value = previousValue;
}
}
那么你可能需要这样的东西:
struct mystruct {
int a;
char b;
};