什么意思将预处理器放入std :: string?

问题描述 投票:-2回答:1

当我阅读leela-zero源代码时,我不明白将预处理器放入std :: string中。在我使用Windows 10,Visual Studio 2019进行的实验中,代码不起作用。

零零:https://github.com/leela-zero/leela-zero/blob/next/src/OpenCL.cpp69〜71line

源代码:

const std::string sourceCode_common =
#include <stdio.h>
;

错误代码:

E0029 expected an expression
c++ preprocessor
1个回答
0
投票

我想你的意思是这样的:

static const std::string sourceCode_convolve1 =
    #include "kernels/convolve1.opencl"
;

这就是#include的工作方式。它从字面上包括文件的内容。如果此文件恰好是有效的字符串文字,则可以正常工作(例如,该文件可能是类似"content...."的文件。

© www.soinside.com 2019 - 2024. All rights reserved.