这就是我到目前为止所得到的
int main(int argc, char* argv[])
{
int size = atoi(argv[2]);
if (strcmp(argv[1], "int") == 0)
{
int* arr = nullptr;
}
if (strcmp(argv[1], "long") == 0)
{
long* arr = nullptr;
}
if (strcmp(argv[1], "char") == 0)
{
char* arr = nullptr;
}
}
答案 0 :(得分:1)
您可以使用template
创建新功能,并从main
调用它:
template <class T>
int realmain(int size)
{
T *arr = new T[size];
//whatever you want to do
delete []arr;
return 0;
}
int main(int argc, char* argv[])
{
int size = atoi(argv[2]);
if (strcmp(argv[1], "int") == 0)
{
return realmain<int>(size);
}
if (strcmp(argv[1], "long") == 0)
{
return realmain<long>(size);
}
if (strcmp(argv[1], "char") == 0)
{
return realmain<char>(size);
}
}
答案 1 :(得分:0)
它的作用是因为变量的范围。你的3个$.ajax('readTCP.php', {
type: 'POST',
cache: false,
async: false,
dataType: 'json',
success: function(data){
drawStatus();
$('.statustext').text('Status: ' + data);
},
error: function() {
console.error("fehler")
}
});
变量是3个不同块中的块作用域,因此即使它们共享相同的名称,编译器也会将它们视为3个不同的变量,因此它们可能属于不同的类型。
话虽如此,它在现实世界的代码中并不是一种好的做法,因为它为人类读者增加了不必要的复杂性。