在 C 中,宏就像一个函数,但在编译之前,宏调用的任何实例都会被宏文本替换。
我的用例是这样的:
floor_dec <- function(x, sigDig=1) {
if (x == 0) {return(x)}
if (is.infinite(x)) {return(x)}
if (sigDig <= 0) {stop("Error: sigDig must be a positive integer.")}
sigDig = round(sigDig)
mostSig = ceiling(log10(abs(x)))
floor(x*10^(sigDig-mostSig))*10^-(sigDig-mostSig)
}
ceil_dec <- function(x, sigDig=1) {
if (x == 0) {return(x)} # This feels familiar
if (is.infinite(x)) {return(x)} # So does this...
if (sigDig <= 0) {stop("Error: sigDig must be a positive integer.")} # Wait a minute
sigDig = round(sigDig)
mostSig = ceiling(log10(abs(x)))
ceiling(x*10^(sigDig-mostSig))*10^-(sigDig-mostSig)
} …
Run Code Online (Sandbox Code Playgroud) 在我的项目中,我正在尝试为输出创建一组文件.但是,每当我尝试接近这个时,我都无法打开任何一个流.我最好的方法是使用下面显示的ofstream指针向量,但我无法打开它们中的任何一个.
vector<ofstream*> out;
for (int m = 0; m < p; m++)
{
for (int n = 0; n < p; n++)
{
string outname = "TLR" + to_string(n) + "|" + to_string(m) + ".txt";
out.push_back(new ofstream{ outname.c_str() });
}
}
Run Code Online (Sandbox Code Playgroud)
p通常是5. is_open()显示没有任何东西打开(duh).我的程序编译并运行没有输出.perror说"无效论证".我在视觉工作室2013上运行Windows 10.我该怎么做才能使这项工作?谢谢.