The compiler already gives useful hints.
Firstly, you're trying to instantiate the lcd object in two different ways, and the first way apparently does not align with the constructor of the library you're using. It looks like you're actually using a library for an I2C display - can you confirm that your display is in fact I2C? With how many wires is it connected to the Arduino?
If you're using lcd.begin(16,2) to start the lcd, you'll need to add a line with this before the setup routine: LiquidCrystal lcd;
Furthermore, when attempting to read the temperature, I think you're trying to call a function that won't do what you expect it to do. I think you actually want to call readHumidity() and readTemperature() as you can see for instance in this example:
In general, especially when you're new, it's a good idea to try and run the examples that come with the libraries you use. If you get those to work, then try and work in the essential parts of the examples into your own sketch.
Also, take one step at a time. So try and get your lcd to work, and in a separate sketch try to get the dht sensor to work (using Serial outputs for debugging). Once they both work, combine them into one sketch.
There may be other bugs in your code that I didn't address, but I'd suggest to start here and see how you fare.
The constructor for the LCD is in setup(). That makes it local to setup() and it goes out of scope when setup() completes. Same for the DHT stuff. Move everything except Serial.begin and lcd.begin out of setup().
I'd recommend to download the example I linked to and carefully read each line of code in it (it's not long) and try to understand what each line does. It'll clarify itself that way. You will probably recognize the functions I mentioned, which do what you want.