Sure, we can make it a generic function that works for any shape with equal sides:
```cpp
template <typename T>
T calcPerimeter(T sideLength)
{
    return 4 * sideLength;
}
```
Then you can call it with:
```cpp
calcPerimeter<float>(5.0f); // Perimeter of square with side length 5
calcPerimeter<int>(10);    // Perimeter of square with side length 10
```
The template allows the function to work with any type T, and it will calculate the perimeter by multiplying the side length by 4.
 แน่นอนว่าเราสามารถทำให้มันเป็นฟังก์ชันทั่วไปที่ใช้ได้กับรูปร่างใดๆ ที่มีด้านเท่ากัน: ```cpp template <typename T> T calcPerimeter(T sideLength) { return 4 * sideLength; } ``` จากนั้นคุณสามารถเรียกมันด้วย: ```cpp calcPerimeter<float>(5.0f); // เส้นรอบวงของสี่เหลี่ยมจัตุรัสที่มีความยาวด้าน 5 calcPerimeter<int>(10); // เส้นรอบรูปของสี่เหลี่ยมจัตุรัสที่มีความยาวด้าน 10 ``` เทมเพลตอนุญาตให้ฟังก์ชันทำงานกับประเภท T ใดก็ได้ และจะคำนวณเส้นรอบวงโดยการคูณความยาวด้านด้วย 4
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence