我对c ++中的typedef有疑问
例如:
typedef const char* yes[5];
Run Code Online (Sandbox Code Playgroud)
typedef是否给出了const char*的替代名称,所以const char*的替代名称是yes[5]?哪些呢yes[5]在这里代表?以及如何创建两个yes数组并初始化两个中的一个?
我有两个关于C++编程的问题.
1)int a[10] = new int*;此声明是否有效?
2) extern void test(int a,int b) throw(const char *, RangeErr);
test()做什么,throw(const char*,RangeErr)意味着抛出两个异常?什么是RangeErr?为什么extern?这个功能有什么作用?
#include <iostream>
using namespace std;
class A {
public:
A ();
virtual ~A();
};
class B: protected A {
public:
virtual ~B ();
};
int main() {
A* pb = new B;//A is inaccessable base of B
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,它告诉我A是不可访问的B的基础,pb是一个指针,指向B的指针,有什么问题?