- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
#ifndef ASSETS_H_INCLUDED
#define ASSETS_H_INCLUDED
#include <vector>
#include string.h>
const int ID_Max = 100;
typedef char ID[ID_Max];
struct node;
struct people{
std::vector<ID> T_ID;
std::vector<node*> Nodes;
people(ID t, node* person){
T_ID.push_back(t);
Nodes.push_back(person);
}
people(){}
};
struct node {
ID T_ID;
node* Parent;
people* leftChildren;
node* rightChild;
node(ID t, node* p, node* l, node* r) :I_ID(t), Parent(p), rightChild(r)
{leftChildren = new people(); }
};
#endif // ASSETS_H_INCLUDED
我的问题是它在构造函数中将 ID 解释为 char 指针所以这是构造函数 people::people(char*, node*) 当我想要 people::people(char[ID_Max], node* ) 节点相同。如果您有建议,将不胜感激。
最佳答案
如果你写一个带有数组类型的函数签名,它和使用一个指针是一样的,例如这个:
void f(char p[]);
与此相同:
void f(char *p);
这看起来像是您的问题的根源。例如,您可能会过得更好一个std::array<char,ID_Max>
(在 C++11 中),或 std::vector<char>
(在 C++98 中)。然后,您可以使用 &cont[0]
获取指向它包含的连续内存开头的指针。 .作为一个小傻瓜,我似乎记得 vector
的内存在 C++98 中并没有严格保证是连续的,但在实践中它总是连续的(你可以信赖它)。该措辞在 C++03 中得到了修复。
关于c++ - char 数组在构造函数中被解释为 char 指针,请帮忙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10562157/
根据https://developers.google.com/google-apps/calendar/v3/reference/freebusy/query处的文档要执行空闲/忙碌查询,您必须在正
我在启动 Apache 后使用 XAMPP 1.7.7 我收到此警报: Busy... Apache started [Port 80] 我已经打开了 httpd.conf 文件,并将端口号更改为 8
我有端口问题。 每当我启动 Apache 时,它都会给我这个错误: Busy - Apache Started [port 80] 当我启动 Mysql 时出现以下错误: Busy - ERROR
当我运行我的代码时,我总是得到后台工作人员很忙。有帮助吗? struct FtpSetting { public string Server { get; set
在我们的 Android 和 iOS MVVMCross 应用程序中,我们偶尔会遇到 SQLiteException: busy 异常。 给定下面的代码,我们有几个存储库,每个存储库都构造一个下面的实
每次运行解决方案(20 projs)时,我都会收到此错误。我尝试禁用 UI 选项、resharper、删除未使用的扩展等,但仍然无法通过此错误。 我使用的是 VS 2015 Update 2 Ente
我正在使用这个插件 https://github.com/mozilla/rust-android-gradle ,这需要我添加 tasks.whenTaskAdded { task -> i
我是一名优秀的程序员,十分优秀!