相关疑难解决方法(0)

令人困惑的typedef涉及类范围

我正在阅读C++项目的代码,它包含以下形式的代码:

namespace ns {
    class A {};
    class B {};
}

struct C {
    typedef ns::A* ns::B::* type;
};
Run Code Online (Sandbox Code Playgroud)

有人可以解释这条typedef线的含义吗?type似乎是某种指针的成员的ns::B指向ns::A,但我不知道.

AB实际代码不是空的,但我认为这与此无关.这是一个实例.

c++ typedef pointer-to-member

56
推荐指数
2
解决办法
1291
查看次数

基础说明符的全局资格

作为" 什么是这个疯狂的C++ 11语法==> struct:bar {} foo {};? "的后续内容,我希望编译以下C++ 0x代码:

struct x {};
struct :::x {} y {};
Run Code Online (Sandbox Code Playgroud)

但是,GCC 4.7.0 20110731告诉我:

错误:在':'标记之前,类名的全局限定无效

当我退一步走向理智并为第二个UDT命名时:

struct x {};
struct a:::x {} y{}; // remember, identical to `a::: x` or `a: ::x` or `a:: :x` etc
Run Code Online (Sandbox Code Playgroud)

错误是:

错误:'a'尚未声明


看起来这三个冒号是被贬低<::> <:>而不是<:> <::>,但是这可以从[最终草案]标准中明确推断出来吗?

也许问题" 班级宣言班级的全球资格 "是否相关?

c++ c++11

1
推荐指数
2
解决办法
478
查看次数

PHP计算多维数据集根x ^(1/3)不起作用

我知道PHP有相当强大的数学包,但我想要做的并不是那么复杂.我想要计算一个数字的立方根.x^3 = 100通常需要在()中求解x echo 100^(1/3).在PHP中运行此代码既不返回错误也不返回正确的数字.

php math

1
推荐指数
1
解决办法
6525
查看次数

c ++命名空间和使用之间有什么区别

我正在看两个源代码.一个使用这个:

using boost::property_tree::ptree;
Run Code Online (Sandbox Code Playgroud)

另一个使用这个:

namespace ptree = boost::property_tree::ptree;
Run Code Online (Sandbox Code Playgroud)

有什么不同?

c++

1
推荐指数
1
解决办法
144
查看次数

标签 统计

c++ ×3

c++11 ×1

math ×1

php ×1

pointer-to-member ×1

typedef ×1