问题标签 [redeclaration]

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 投票
2 回答
1628 浏览

objective-c - 属性声明 - ivar 和 getter 值不匹配

我对财产重新申报有疑问

概述:

  • 类“A”是具有只读属性 int n1 的父类;
  • 类“B”是子类,它将属性重新声明为读写
  • 使用“B”类的设置器,属性值设置为 20
  • 当我使用 getter 和实例变量打印值时,我似乎得到了不同的值

注意点: - 内存管理 = ARC (Automatic Reference Counting)

问题:

  • 当我打印 self.n1 和 _n1 的值时,为什么会得到不同的值?
  • 为什么我的预期行为和实际行为不匹配(请向下滚动查看实际与预期)?

代码:(在单独的文件中)

溴化氢

BM

测试.m

预期行为:

实际行为:

0 投票
2 回答
518 浏览

php - PHP 有时会忽略函数重新声明吗?

我和几个朋友在一个网站上工作,最近,用户抱怨一个相当重要的功能除了返回一个空白页面什么都不做。这只发生在某些用户身上,而其他用户可以完美地使用它。

我查阅了调试输出,结果发现一个函数被声明了两次。一次在功能的主页 ( foo.php) 中,另一次在获得require_once'ed 的文件中。显然,我现在正走在修复它的正确道路上,但让我感到困惑的是,许多人在访问该页面时并没有遇到这个问题。两个函数声明是相同的;身体似乎已从一个文件复制+粘贴到另一个文件。这些函数声明都不是有条件的;它们都应该总是发生。

有谁知道 PHP 能够处理我的错误并使页面正常工作的情况,尽管有这个致命错误?

0 投票
1 回答
615 浏览

javascript - JavaScript eval() 和 const

我刚刚在使用 Mozilla Rhino 作为 JavaScript 引擎时偶然发现了一个奇怪的 JavaScript 错误。

这一行脚本会引发错误:

错误是:

如果该行被执行多次,我预计会出现这个错误 - 但它只执行一次,因为这一行是整个程序。

谁能解释一下,为什么会出现这个错误?

0 投票
0 回答
614 浏览

c - 同一行的枚举中的重新声明错误

我正在尝试为制造商提供用 MS Visual C++ 编写的 SDK 的设备创建 Matlab 接口。我在我的 C 文件(包含 mexfunction)中包含了来自 SDK 的标头,其中包含如下枚举:

在 matlab 中编译 C 文件以生成 mex 文件时,对于枚举的每个元素,我都会收到几个错误,如下所示:

错误 \LxT\useLxt.c: \LxT\LxT831.h: 713 重新声明先前在 \LxT\LxT831.h 713 声明的 `GROUP_DOSE_1'

错误 \LxT\useLxt.c: \LxT\LxT831.h: 714 重新声明先前在 \LxT\LxT831.h 714 中声明的 `GROUP_DOSE_2' ....

令人困惑的部分是重新声明在同一行。还有一点需要注意的是,这是 cpp 代码,而 matlab 使用的是 lcc c 编译器。任何提示/建议?

0 投票
3 回答
733 浏览

c++ - c++ 使用 *lec=fopen() 修复语法调试;

我正在和一个比我更了解的朋友一起编写一些 C++ 代码,并且代码有一个错误,我想帮助解决这个问题,因为我不知道如何......

编辑 编译器在第 59 行停止,其中:FILE *ecr("result.txt","wt");被写入。

还有很多其他的事情要修复,我修复到 49 (现在 59 ;))我再次被阻止......

谢谢!

编辑(再次,抱歉) 带有消息:

如果有人能想出如何解决这个问题,那就太好了!

代码:

0 投票
2 回答
2857 浏览

c - 错误:重新声明没有链接的“y2”

我正在尝试创建一个程序,该程序接收整数值并使用 atoi 将它们转换为 2 的补码整数,并确定进行了哪种类型的转弯。这是我的代码:

还有我的错误:

编译异常退出,代码 2 在 Sun Sep 22 20:07:02"

我想知道这个错误的原因。

谢谢,

0 投票
6 回答
3345 浏览

c++ - C++ 允许重新定义全局(常量)变量吗?

我对全局常量有点困惑。我(初级)的理解是“全局”变量是在块之外定义的并且具有程序范围(来源: http: //www.learncpp.com/cpp-tutorial/42-global-variables/)。但是程序:

在 g++(GCC,最新的 64 位版本)中编译没有任何问题,即使使用 -Wall。

输出:

这让我很困惑。第一个 cout 评估的事实意味着 main 将“x”识别为“全局”变量(它没有在 main 的范围内定义)。如果是这样,为什么它让我重新定义'x'?

然后,如果您取消注释已注释的第三个声明,g++ 会引发重新声明错误。意思是,从我定义的意义上说,我的第一个声明不可能是“全球性的”:S

编辑:好的,问题与全局变量无关,但范围:例如http://pastebin.com/raw.php?i=V5xni19M中的相同问题

0 投票
0 回答
67 浏览

c - 为什么重新声明全局变量是有效的但不是局部变量的局部?

0 投票
2 回答
603 浏览

c++ - C++ 内联函数和重新声明

首先,对不起我的英语。

由于 GCC 完全忽略了内联说明符,所以我很难知道一个函数何时被我标记为内联。我想了解的是,当您对相同的函数进行一些重新声明(在相同的翻译单元或不同的翻译单元中)时,您的函数何时或在何种情况下被标记为内联(不管编译器会做什么)用你的提示)。

例如:

或者:

用不同的内联说明符重新声明函数是什么意思?一个更复杂的例子:

从 C++ 的排他性角度而不是从编译器的角度来看,print函数是 inline 的(1)吗?

我无法简明扼要地提出我的问题,但我认为该消息已收到:) 我试图了解何时应该将函数标记为内联,何时不从 C++ 和程序员的角度来看(无论将编译器使用您的函数生成)。

0 投票
1 回答
61 浏览

class - 类方法的可见细化

考虑以下小的 ocaml 类层次结构:

我想要实现的是细化wrt的领域x,并在 z 的类型上看到细化,即class zclass y

不是想要达到的。

我非常有信心有一种方法可以说服类型检查器对改进的兼容性,但是如何呢?