小编Tim*_*ney的帖子

我可以推送git并强制最大包装尺寸吗?

我正在将一个非常大的存储库推送到GitHub,我收到一个错误,说该包超过了允许的最大大小:

git push
Counting objects: 2072164, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (731293/731293), done.
fatal: pack exceeds maximum allowed size2.00 GiB | 118 KiB/s      
error: pack-objects died of signal 13
Run Code Online (Sandbox Code Playgroud)

有没有办法在推动时强制最大包装尺寸?我git repack --max-pack-size=1g -d -f -F -a在推之前尝试过.我也试过了git config pack.packSizeLimit 1g.还有另外一种方法吗?

git github

6
推荐指数
1
解决办法
5214
查看次数

如何定义一个定义调用自身的函数的宏?

我想创建一个宏来定义一个在对象列表上调用该函数的函数.它不一定必须是预处理器宏,但它应该工作.

我想写这样的东西:

CALL_ON_ALL(doSomething(int arg1, bool arg2))
Run Code Online (Sandbox Code Playgroud)

我想要它产生这个:

void doSomething(int arg1, bool arg2) {
    for (int i = 0; i < delegates.size(); i++)
        delegates[i]->doSomething(arg1, arg2);
}
Run Code Online (Sandbox Code Playgroud)

我有一些有用的东西:

#define CALL_ON_ALL(defSig, callSig) \
void defSig { \
    for (int i = 0; i < delegates.size(); i++) \
        delegates[i]->callSig; \
}
Run Code Online (Sandbox Code Playgroud)

问题是我必须分别编写定义签名和调用签名,如下所示:

CALL_ON_ALL(doSomething(int arg1, bool arg2), doSomething(arg1, arg2))
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

编辑

它不一定必须是预处理器宏.任何有效的方法都可以.

c++ macros c-preprocessor

3
推荐指数
2
解决办法
1万
查看次数

如何使用带指针的转换构造函数?

我有一个C可以转换为类的类A和一个A*作为参数的函数.我想用a调用它C*,但我似乎无法让转换构造函数工作.我明白了:error: cannot convert ‘C*’ to ‘A*’ for argument ‘1’ to ‘void doSomething(A*)’.我究竟做错了什么?

class C {
};

class A {
public:
    A(C* obj) {}
};

void doSomething(A* object);

int main()
{
    C* object = new C();
    doSomething(object);
}
Run Code Online (Sandbox Code Playgroud)

c++ constructor type-conversion implicit-conversion

1
推荐指数
1
解决办法
420
查看次数