为什么每次运行都是“ (argc < 2) ”?

这段代码有什么问题?

const char helper[] =  
    "Sample_equalizeHist.exe  <img_file>\n\ 
    \t<img_file> - image file name\n"; 


int main(int argc, char* argv[]) 
{ 
    const char *initialWinName = "Initial Image", 
               *equalizedWinName = "Equalized Image"; 
    Mat img, grayImg, equalizedImg; 
    if (argc < 2) 
    { 
        printf("%s", helper); 
        return 1; 
    }     

这个程序需要在执行的时候传入参数。
test.exe aaaa
在命令行里这样执行。

这个程序的调用方式是
Sample_equalizeHist.exe - image 文件名
如果没有文件名参数,就显示上面helper的提示