我有一個Builder類,它具有許多設置方法(具有各種名稱和參數)。我需要允許最多調用4個這些方法,而不再需要其他方法。如果調用了4個以上的函數,我顯然會產生運行時錯誤,但是我想生成一個編譯器錯誤。這將是一個編程錯誤,我希望有機會修復它(決定保留哪些4個調用),而不是等到它在運行時失敗(在這種情況下,我將不得不做任何事情,就像忽略第五個)。我需要一個使用標準C++的解決方案,但不需要新的C++ 11功能。下面是5個調用的例子(它應該在第五個調用上產生編譯器錯誤)。在C++中函數調用次數的編譯時間限制
Builder builder();
builder.setA(1);
builder.setB(1.3);
builder.setC("sss");
builder.setD(0);
builder.setE(3, "aaa");
這個怎麼樣:http://stackoverflow.com/questions/14621968/how-to-do-static-assert-with-macros –
對不起,但我沒有看到字符串或對在哪裏。 –
如果我有函數調用次數的編譯時間計數,鏈接中的靜態聲明將非常有用。 @JerryJeremiah – user2453360