问题标签 [lvalue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
418434 浏览

c - 左值需要作为赋值的左操作数

为什么我越来越

与单个字符串比较?我该如何解决这个问题C

谢谢!

0 投票
4 回答
1228 浏览

c - C:指针混淆

我知道这是基本内容的一部分,但我被困住了:-(有人可以帮我吗?

方案一:

为什么输出错误?需要左值吗?

方案二:

为什么输出是空字符串?如果我颠倒递增的顺序,即:while(++*p2=++*p1);,为什么会出现左值错误?

0 投票
4 回答
8863 浏览

c++ - 需要左值作为增量操作数错误

有什么问题++(-i)?请说清楚。

0 投票
2 回答
3768 浏览

c++ - C++0x const RValue reference as function parameter

I am trying to understand why someone would write a function that takes a const rvalue reference.

In the code example below what purpose is the const rvalue reference function (returning "3"). And why does overload resolution preference the const Rvalue above the const LValue reference function (returning "2").

0 投票
5 回答
217 浏览

c - C 编程:递归

所以我写了这个简单的递归程序,当我用 GCC 编译它时出现错误

错误:需要左值作为赋值的左操作数

希望这不是什么严重的事情,任何见解都值得赞赏

谢谢!

0 投票
3 回答
9425 浏览

c++ - 在 C++ 类中初始化数组和可修改的左值问题

我有一个基本的 C++ 类。标题如下所示:

现在在类的 cpp 文件中,我想用类构造函数中的默认值初始化 _ageGroupArray[5],如下所示:

这样做我在 _ageGroupArray 行上得到“表达式必须是可修改的左值”。那么在构造函数中初始化数组对象是完全不可能的吗?我找到的唯一解决方案是在范围标识符之外定义数组。对此的任何澄清将不胜感激。

0 投票
6 回答
254 浏览

c++ - 为什么 myClassObj++++ 不会产生编译错误:'++' 需要 l-value 就像内置类型一样?

为什么 myint++++ 用 VS2008 编译器和 gcc 3.42 编译器编译得很好?我期待编译器说需要左值,示例见下文。

0 投票
6 回答
351 浏览

c - 为什么函数的返回值可以赋值给?

考虑以下函数:

如果我评论该行char *s=malloc(8);,我会收到一个错误,就好像分配*f()='A'访问了无效内存一样。既然我从不返回任何变量,为什么上面的赋值完全起作用?

第二个问题:'A'分配给函数返回时创建的临时变量。那么为什么不能将++aetc. 用作左值呢?

0 投票
2 回答
337 浏览

objective-c - Objective-C struct 属性指针不能通过 self.prop 生成?

在将 NSCoder 支持写入一个类时,我刚刚遇到了一个小惊喜。我有一个 A 类,其中包含 rgb 结构类型的公开“颜色”属性。我有另一个扩展 A 的 B 类。

为了在 B 类的 encodeWithCoder 方法中对颜色属性进行编码,我首先将它包装到一个 NSValue 中,如下所示:

但是,使用此代码会导致以下编译错误:

在使用 NSValue 包装之前,只需将 self.color 复制到方法范围值就很容易解决,但我想了解何时发生这种情况的规则,以及发生这种情况的原因。由于不需要该属性名称的真实类字段存在,因此任何@synthesize 属性都会发生这种情况,因此没有保证指向的对象?

0 投票
4 回答
3124 浏览

c++ - 一个 VS2010 错误?允许在没有警告的情况下绑定非常量引用到右值?

  1. GCC 是给出编译错误std::string&的好方法:从临时类型的非 const 类型引用的无效初始化std::string
  2. VS2008 还不错,因为至少它给出了一个编译警告:警告 C4239:使用了非标准扩展:'initializing':从转换std::string为非std::string &const 引用只能绑定到左值
  3. 问题来了 - VS2010(SP1) 编译良好,没有任何错误或警告,为什么??!!我知道VS2010 中的右值引用可用于与右值绑定,但我没有使用&&,而是在演示代码中,我只是使用非 const 左值引用!

有人能帮我解释一下这里 VS2010 的行为吗?它是一个错误!?谢谢