我有一堂课,需要公开其受保护成员之一的大小。
我无法公开该字段,也不想引入一个新字段,因此我试图引入一个枚举并将其分配给该字段的大小,如下所示:
class MyObject
{
public:
enum
{
myFieldSize = sizeof(myField),
};
protected:
uint8_t myField;
}
Run Code Online (Sandbox Code Playgroud)
但是我的编译器告诉我找不到“ myField”的声明。这是预期的行为吗?我还有其他访问myField的公共函数,为什么枚举看似无法访问?
我正在使用pandoc将org和markdown文件转换为HTML。我想设置的元数据,如title,subtitle以及author在外部YAML文件标签,并让他们显示使用模板。但是,除了正常的身体转换之外,我什么也看不见。
我正在使用默认的HTML模板。我已经预先运行了将YAML配置串联的转换:
pandoc -t html -o output.html metadata.yaml input.md
Run Code Online (Sandbox Code Playgroud)
我还尝试了包括yaml_metadata_block扩展名:
pandoc -t html+yaml_metadata_block -o output.html metadata.yaml input.md
Run Code Online (Sandbox Code Playgroud)
另外,我尝试在命令本身中设置变量:
pandoc -t html -o output.html -V title="my title" input.md
Run Code Online (Sandbox Code Playgroud)
我的YAML文件如下所示:
---
title: "my title"
subtitle: "my subtitle"
author: "the author"
...
Run Code Online (Sandbox Code Playgroud)
使用检查默认的html模板pandoc -D html,就像在title定义etc 等时,它将放置在标题块中:
$if(title)$
<header>
<h1 class="title">$title$</h1>
$if(subtitle)$
<p class="subtitle">$subtitle$</p>
$endif$
$for(author)$
<p class="author">$author$</p>
$endfor$
$if(date)$
<p class="date">$date$</p>
$endif$
</header>
Run Code Online (Sandbox Code Playgroud)
但是在每种情况下,html文件都只包含从转换的文本input.md。我认为这是$body$默认模板中定义的行。
如何使这些字段显示在我的html文档中?