C ++ int main(int argc,char * argv [])参数转换为整数值

时间:2015-05-18 13:20:05

标签: c++-cli

公共语言运行时支持设置为(/ clr)。当我尝试使用参数(argv [1])时,它返回“true”,这实际上不是真的,因为我有一个路径作为参数传递给它。有人可以帮助我,因为我应该如何避免这种情况发生。编译警告状态 - >强迫bool'true'或'false'(性能警告)

int main(int argc, char* argv[])
{
    Console::WriteLine(argv[1]);
}

答案:“真实”

1 个答案:

答案 0 :(得分:1)

问题是没有Console::WriteLine函数占用char*。您应该将其转换为String对象。

关于警告消息和输出,这是因为编译器无法找到WriteLine调用的完全匹配,如果可能,它将选择另一个函数。在这种情况下,它选择带有Boolean参数的那个,因为指针可以隐式地转换为bool,而Boolean又可以转换为"true"。输出为{{1}},因为在指向bool的转换中,任何非空指针都被视为true。