- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Clang 接受这段代码,但 GCC 拒绝它:
class Foo {
public:
static constexpr double kVal = 0.25f;
};
const double Foo::kVal;
(使用 clang 3.0 和 g++ 4.6.3)
~$ clang++ foo.cc -std=c++11 -c
[ok]
~$ g++ foo.cc -std=c++0x -c
foo.cc:6:19: error: redeclaration ‘Foo::kVal’ differs in ‘constexpr’
foo.cc:3:34: error: from previous declaration ‘Foo::kVal’
foo.cc:6:19: error: declaration of ‘constexpr const double Foo::kVal’ outside of class is not definition [-fpermissive]
哪种解释是正确的?
最佳答案
clang 是正确的。看起来 gcc 团队中有人误读或错误实现了:
7.1.5/1:
If any declaration of a function or function template has
constexpr
specifier, then all its declarations shall contain theconstexpr
specifier.
Foo::kVal
显然不是函数或函数模板。我在标准中没有看到任何其他要求使用 constexpr
来使一个声明与下一个声明保持一致。
关于c++ - 错误 : redeclaration differs in ‘constexpr’ ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17074089/
function test($str) { $c = count($str); if ($c>1) { foreach ($str as $key => $value) $result
function test($str) { $c = count($str); if ($c>1) { foreach ($str as $key => $value) $result
诚然,我的 OOPHP 有点不稳定,但我看不出这有什么问题。在我的一个 Controller 中,我包含了一个 utils 表,它与 Controller 一样,扩展了基本的 CI_Controlle
是否可以声明一个成员是基类成员的子类? 例如 class A { int a; } class B : A { int b; } class Foo { A *baz; } cl
#include int x=13; // forcing space allocation int x; int main(){ printf("%d\n",x); } 上面的代码可以编译,但下
VIM Syntastic 插件适用于 .go 文件。但有时我想在同一个文件夹中有几个 go 文件,每个文件都有 main() 方法,这样我就可以 go run xxx 每个文件(用于演示)。这将在我
我今天将 wordpress 更新为 Newest 时遇到了这个 fatal error 。我使用 Barely Corporate 主题。 第 126 行是代码的最后一行。有没有人知道这是什么?该主
我有以下代码,但是当我运行我的工厂时出现以下异常: Cannot redeclare questionIndex() (previously declared in /Users/user/Deskt
我正在使用 PHP,并且有一个常量声明表列详细信息。 我目前 $sql = "CREATE TABLE ' . $table_name . ' ' . TABLE_COLUMNS; 并 odbc 执行
我是 C++ 的新手,遇到了这段代码: 文件.h namespace Type { typedef BOOL (WINAPI *TYCopyFile) ( PCHAR lpExis
我正在尝试创建自己的“智能迭代器”,并且我想使用 SFINAE 来根据迭代器的标签来设置一些运算符: 这是我的代码: template class RangeFilterIterator { publ
我正在尝试创建一个程序,该程序接收整数值并使用 atoi 将它们转换为 2 的补码整数,并确定进行了哪种类型的转弯。这是我的代码: #include #include int turn(int t
在文件范围内,我可以使用初始化(静态)变量的前向声明。存在循环依赖。 s[0]指的是count的地址。 count 是指 s 中的项目数。 struct s { int *a; }; static i
这个问题在这里已经有了答案: "Fatal error: Cannot redeclare " (18 个答案) 关闭 4 年前。 (使用 MySQL 编写 PHP) Fatal error: Ca
Clang 接受这段代码,但 GCC 拒绝它: class Foo { public: static constexpr double kVal = 0.25f; }; const double
#include #include double integrateF(double low, double high) { double low = 0; double high
我有以下表格: user, logbook, user_logbook 用户日志是一个联结表(schema.xml 中的isCrossRef="true"),包含user_id 和logbook_id
我正在开发一个基于 TinyBoard (xampp) 的简单图像板,当我尝试发布图像时,网站出于某种原因给我错误: Fatal error: Cannot redeclare imagecreate
我刚刚完成我的应用程序并且它运行良好,但是在按文件 -> 复制后突然,我收到一条消息说 Invalid redeclaration of 'ViewController' 如果可以的话,请帮帮我好吗?
这个问题在这里已经有了答案: "Fatal error: Cannot redeclare " (18 个答案) 关闭 3 年前。 我有这个 php 脚本: function hoeveelzijn
我是一名优秀的程序员,十分优秀!